Recently at the exploreDDD conference I gave a lightening talk on How Not To DDD.
Here are the 7 ways you should NOT do Domain Driven Design(DDD).
Here are the 7 ways you should NOT do Domain Driven Design(DDD).
1. Dysfunctional DDD
Doing DDD has no effect if you do not affect organizational change that aligns with the bounded contexts.
2. Honeymoon DDD
The activities of DDD are only effective when they are done in a group to enable cross-discipline collaboration. Event storming for 7 days by two people locked in a room is a honeymoon not event storming
3. Cargo-Cult DDD
Using DDD terms but not really understanding the "Why" of practicing DDD. I usually steer clear of folks who do this unless they are about to do real harm to the project.
4. DDD-Lite
Relying on the warm wooly blanket of tooling and IDEs to enforce all your DDD constructs. Generating package names and a proper project structure does not a DDD make. Practice DDD in the actual model and not on the surface.
5. Everybody in the Pool DDD
When the going gets tough instead of refining the model abandon ship and start merging bounded contexts or have transactions span boundaries.
6. DDD Heaven
You have entered this state when your Process Mangers act like God objects and start orchestrating across domains and bounded contexts.
7. Event Source/CQRS Everything DDD
Yes it is true that the ceremonies of DDD like event storming naturally lead you to messaging and event driven architectures. This does not mean that you must automatically resort to event sourcing /CQRS to implement your design. Saving state in a database and exposing APIs for event driven state transfer is perfectly fine.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.