DDD – strategic design
It’s recommended to start DDD with strategic design to establish the big picture before drilling down into the more granular tactical design. The very first step is known as ubiquitous language.
Ubiquitous language
Using a common language between engineers and domain experts is crucial to the success of software systems. Business domains often involve a lot of industry terms, specialized concepts, and subtle rules. However, not all of them can be applied to the scope of a software system. On the other hand, engineering involves a lot of technical terms, methodologies, and best practices, all of which are needed for the given software system.
Ubiquitous language is a term that was introduced by Eric Evans in his book Domain-Driven Design: Tackling Complexity in the Heart of Software, published in 2004. It serves as a common understanding and mental model of the domain that’s shared between engineers and domain experts. It aims for...