Sign in

Is it necessary to introduce DDD into code engineering?

MIkCode edited in Sat, 20 Aug 2022

Problem description

DDD domain development is so complicated, is it necessary to introduce it into the actual architecture, and what factors need to be considered?

1 Replies
commented on Sat, 20 Aug 2022

The author of domain driven development clearly points out that DDD is only suitable for scenarios with high business complexity, not for scenarios with high technical complexity but low business domain complexity. It can be seen that DDD only focuses on one field, highly complex business - it can build a core, stable field model, flexible and scalable architecture for your system.

DDD embraces complexity and change, but it also has cost and premise; Simple system, there is no need to engage in such a complex, strong DDD is an anti mode. So, when you come across a problem and think of DDD, you must pay attention to "DDD is just a hammer", don't take this hammer to knock everywhere!

How to judge whether the business is complex or not, the judgment basis is numerous. In my opinion, it's not that complicated. There are only two

  1. Width: large link width, focusing on multiple latitude message sources, covering more business scenarios
  2. Depth: deep link, focusing on the whole life cycle of the object, from data creation, to change, to later operation and maintenance, the process runs long

As long as one of them is satisfied, it can be considered as complex.

lock This question has been locked and the reply function has been disabled.