Maybe the question is a contradiction, but is it correct in DDD to start the development from the use cases, and then you develop the domain model that will support those services?
If the design is driven by the domain (as DDD says), it is supposed that you develop the domain model first (by understanding the problem domain and using the Ubiquitous Language), and then you develop the application layer (use cases) that will use the domain.
However it seems that in DDD you start from the use cases (or user stories) first and then you develop the domain model.
If the design is driven by the domain (as DDD says), it is supposed that you develop the domain model first (by understanding the problem domain and using the Ubiquitous Language), and then you develop the application layer (use cases) that will use the domain.
However it seems that in DDD you start from the use cases (or user stories) first and then you develop the domain model.
Neither of these statements is accurate. The -driven part of DDD doesn't imply a particular order in the implementation of the system. It just says that that the whole design and coding effort should be primarily centered around the domain and its language.
You can equally choose to implement the application layer first as the domain layer first. Regardless, a logical model of the domain will need to be there before you start implementing. Use cases speak the same language as the domain model - it would make no sense to develop the application layer without at least a well-defined ubiquitous language and sketched model of the domain.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With