Intro In the last blog post, I discussed domain event handlers whose sole purpose is to execute side effects for application usefulness. In this blog post, I’ll be discussing file structure and how it relates to specification. File Structure An application can be organized into the following file folders: Domains Integration Specifications Tests Here’s an …
Specification as a Library (Vol.4)
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 …
Specification as a Library (Vol.3)
Intro In a previous blog post, I described how to consume a specification as input and in return, output a set of isolated business domains. These business domains will serve as our initial blueprint for constructing the application. The following are the business domains that were extracted from the specification: Access Profile Subscriptions Portfolio These …
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. 5)
Intro I'm practicing Domain Modeling Made Functional and have implemented the Profile domain context of Nikeza.Mobile. Here's the birds-eye view of the workflows I constructed: Workflow The workflows that I wrote reflect operations that rely on I/O on the edges and domain logic at the core. All workflows take a command and emit domain events …
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#: Enforcing Domain Design through Types
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: