One of the consitent truths I have found in every development team I have worked with is that there is more work that can possibly be done. A great deal more. For the forseeable future, this will always be the case. I can come up with an innovative new idea by chance one Sunday afternoon. […]
ddd
You can subscribe to the ddd tag micro-feed.
Your identity should be immutable and unconfusable
There are lots of ways to make an identity immutable and unconfusable. I’ll show just a couple, but first the principle behind it. Your identity should be immutable, because you will accumulate lots of threads back to your item that need that identity. If the identity changes, you will be breaking all of the relationships […]
Patterns, principles, and practices of Domain Driven Design
I have just finished reading Scott Millett’s comprehensive volume Patterns, Principles, and Practices of Domain-Driven Design, which Scott kindly arranged to send to me. This is a subject I have been talking about non-stop for the past six months with my good friend Adam Watson – and this book thoroughly covers the topics that we […]
Mescoservice architecture
Microservices are getting a lot of attention at the moment. For some they are the solution to the problem of monolithic software, to others they represent unnecessary complexity? Enter Mescoservices! Mescoservice architecture speaks to experienced service-oriented programmers who understand the concept of Domain Driven Design. It is the anti-dogmatic, non-extreme, and balanced view of service […]
Understand the intent before making changes
(Quick note… I didn’t know there was a good name for this when I wrote this article, but for more general reading on this check out Chesterton’s Fence.) There is a clever pattern in domain-driven-design whereby you create an object to represent identifiers in your model. For example, if you have a Client object, you […]
Wrapping simple types in a class for identities
This is something I discovered when looking through some code I inherited from someone and I had to investigate it to work out why it existed. You may have already come across something similar, in which case you will know the answer to this question: Which of these is better? public Person GetPerson(int personId) { […]