我偶然发现了格雷格·杨(Greg Young)的演讲DDD项目失败的7个原因,他在7:20提到了他称为DDD-Lite的内容。
概括地说,他基本上说有些人将DDD用作模式语言(实体,存储库,值对象,服务等),而没有做任何其他与DDD相关的事情。他假设.Net中60%或更多的域模型是DDD-Lite。他认为DDD-Lite基本上是在围绕依赖注入构建一种语言,而您实际上并不需要这样做。他说要么完全做DDD,要么做一些简单的事情。否则,他声称一个人正在为构建良好的抽象而进行所有这些工作,但是没有任何实际的好处。
我必须承认,我对DDD的了解不尽如人意,并且还没有尝试使用它。我也没有读过Eric Evan的书。我对依赖注入更加感兴趣,关于此主题的许多书籍和博客都使用Eric Evans的DDD书籍中的术语和参考概念。这是我接触过DDD概念的地方。我一直在阅读的书籍包括:
- .NET中的依赖注入
- Microsoft .Net:为企业设计应用程序
- .NET中的Brownfield应用程序开发
如果要进行依赖注入,那么比“ DDD-Lite”更简单的选择是什么?在我看来,建立良好的抽象非常有用,无论人们是否以“ DDD-Lite”方式使用DDD中的概念。(请参阅Mark Seemann的博客文章:接口不是抽象,而是迈向更好的抽象)。我很难相信每个进行依赖注入的人也都在做(或需要做)完整的DDD。我是否以某种方式误解了格雷格·扬(Greg Young)关于DDD-Lite的论点?