© 2023 Hashnode
#domain-driven-design
Coming from a very object-oriented background, I have been quite unaware of the trend of functional programming, and as it happens when you face something unknown, it took me some courage to finally d…
When you are trying to build complex software it is important that everyone is on the same page. Even though most of us prefer to work alone, at home, with an endless supply of coffee, good software j…
In the previous post, I used event sourcing to handle commands and recreate the current state of the Artwork entity. In this post, I'll be adding validation to the value objects used to implement the command and event objects. The ArtworkId…
In my previous post (ArtShowTools: Part 1), I created the first draft of the domain model. In this post, I'll describe some of the prototyping I've been doing in F#. While I've worked with C# for nearly 20 years, I've only been working with…
My motivation for writing an artwork management application is my wife. She is a successful artist and belongs to a local co-op gallery (Next Gallery). She has a large body of artwork and participates in several shows per year as well as do…
In this part we will have a break of ES and focus on modeling the domain and building the hexagonal architecture. If you want to do real DDD, there's no going around modeling the domain. It's a necess…
This article is an introduction to Domain-Driven Design and how it can be used with AWS. I will provide guidance on how to define business domains in legacy monolithic applications and decompose them …
It should not be innovative to say that writing software is not merely about writing code - it is about solving a particular problem. Even though it's developers who eventually implement the solution,…
This will be a series of tutorials taking you through how to apply Domain Driven Design (DDD) in a practical manner using C#. By the end of the series, we will have a program of some sort that simulates a domain discussed further down. Befo…
Inevitably, every Go developer asks the following question: How do I organize my code? There are many articles and approaches, and while some work well for some, they may not work well for others. Go has no official conventions and prefer…