Introduction In the previous blog post, I discussed the difference between workflows and attempts. In summary, a workflow accepts a command as input, and as a result, emits a list of domain events. Thus, an attempt also accepts a command as input, but instead, returns a status. Furthermore, the status of an attempt requires the …
F#: ViewModel (Dependency Injection)
Intro In this post, I attempt to demonstrate how cool I am at writing proven code for a user's registration form. Please note that I use the term proven and testable interchangeably. The viewmodel is the root of the testable codebase for business logic. As a result, I injected the function (aka: implementation) …
Wiring a ViewModel to a DDD-Workflow
Intro I recently connected a viewmodel to a workflow that I was inspired to write as a result of reading the book: Domain Driven Design Made Functional. All of my source code can be found on GitHub/Nikeza. ViewModel In the viewmodel, I handle validating and submitting a form. The interesting part of this exercise is …
F#: Domain Modeling a Workflow (vol. 4)
Preface Let me first send a Shoutout to the F# Camp for helping me continue to grow as a professional developer down here in Miami, Florida. Their support has assisted my relentless pursuit to achieve mastery. Specifically: Scott Wlaschin Mark Seemann The InnerLight Chad Gilbert Intro I've been going HAM in Functional Programming. The …
F#, Elm, .Net Core 2.0 and MLK
Elm: Week 18 of my Journey
Elm: Implementing a User Control
Intro This post attempts to document my journey of building a user-control in Elm. The user-control that I'm building is a login control. Building the Login Control The following is the code for the Login control: Note that we have the following messages within the code above: The messages (i.e. union cases) above that have …
Lambda Cartel: Project Kickoff
We discuss the Lamba Cartel and project Nikeza:
Talking to Terence about Teams and Architects
F#: Creating only valid values
In this video, I go through a kata in which I write code to enforce the creation of valid data only: