我理解DDD就是一套方法论
一个作用是用于拉齐项目中各个角色对于需求的认知,高效率的让项目中涉及的“知识”在团队内流转,这个是战略设计的作用
另一个作用就是将战略设计划分的领域模型,通过使用战术设计的各种“武器”,比如实体,值对象,仓储层,防腐层等等,将领域模型落地成高度抽象且领域层稳定的代码
但是我有个问题是在DDD中是不是战略设计意义要大于战术设计,因为我之前在做代码设计的时候,那时候不知道防腐层等概念,但是还是会做类似的抽象,经过良好抽象的代码即使是那种“事务脚本”的形式也是稳定的,所以我感觉如果仅仅是代码层面的问题只要是进行了良好抽象其实无论是面向数据还是面向领域是没有区别的?
问这个问题的原因是我在之前做项目的时候提出要使用DDD,然后我的老板问为什么要用,我表达了战术设计能够指导代码抽象等观点,然后我的老板说这是代码设计层面的问题,我感觉我没有办法反驳
辛苦老师能就为什么要使用DDD这一点给出指导意见,它和面向数据库表开发有什么区别,因为我理解只要做好代码设计,即使不用DDD,而是面向数据库表开发,也能搭建一套稳定的代码结构