A collection of conversations exploring the wider world of .NET
Mar 30, 2022
Domain-driven design (DDD) is a vast topic. There are so many wonderful concepts, philosophies, patterns, practices, and techniques to learn and benefit from. Some of the best minds in the industry have been tuning these practices for years to ensure developers are able to implement proven, successful approaches to software design. Domain modeling in particular is very specific with guidance on designing and coordinating the dance between the myriad moving parts in our system. Yet learning the principles of DDD can be daunting for developers who are new to it. To encourage and enable more developers to get on the path of DDD, is it reasonable to allow a more pragmatic approach over a principled approach of adhering strictly to DDD guidelines? Should developers be encouraged to start with low-hanging fruit that they can quickly benefit from in their software projects while they continue to learn, to gain a deeper understanding of domain-driven design in order to evolve and adapt their practices as they move closer and closer to the beauty we all know that can be achieved with DDD?