我已经练习DDD有一段时间了,使用四个不同的层:领域、表示、应用和基础设施。最近,我向我的一个朋友介绍了DDD概念,他认为它引入了不必要的复杂性(特别是针对接口和IoC)。通常在这种情况下,我会解释DDD的好处,尤其是它的模块化。所有繁重的工作和底层操作都在基础设施中处理,如果我想完全更改底层数据访问方法,只需要触及基础设施层存储库。
我朋友的论点是,他可以以相同的方式构建三层应用:
- 业务
- 数据
- 表示
编辑:他没有使用IoC。他的示例中每一层都依赖于另一层。