开篇:为什么大厂都在推 DDD?
先想一个问题:你有没有遇到过这样的代码——Service 层有几千行,一个方法里塞了查库、校验、计算、调用外部接口、发消息等各种逻辑,改一行代码就怕影响十行?
这就是传统 MVC 架构的典型痛点:业务逻辑全部散落在 Service 层。项目初期觉得简单直接,但随着业务复杂度增长,Service 变成了一个大杂烩——既负责流程编排,又负责业务规则,还负责数据转换。你想改一个计费规则,得翻遍整个 Service 才能确认改全了没有。
DDD(Domain-Driven Design,领域驱动设计)的核心主张是:软件开发的核心是理解业务,而不是实现技术。 先理解业务领域、建立领域模型,再考虑技术实现——而不是上来就画表、写 SQL。