Skip to content

四层架构

四层架构,是《领域驱动设计:软件核心复杂性应对之道》,即最早提出领域驱动设计的书中给出的一种架构模式。它把整个系统按照从上到下分层四层:UI层、应用层、领域层、基础设施层。

是采用四层架构好还是端口适配器好?

永远使用端口适配器,永远不要使用四层架构。

为什么要抛弃四层架构?

四层架构的领域层是依赖基础设施层的,导致出现在聚合你直接访问数据库,拼接sql等等,都是可以做到的,特别容易在实现的过程中走偏。 由于对基础设施层的依赖,导致领域模型不容易被测试,毕竟mock基础设施比较困难。 应用层也是一个数不清楚的概念,导致很多本该属于领域模块的业务逻辑,泄露到了所谓的应用层。 四层架构存在以上缺陷,而端口适配器则解决了这些问题,并且不会多付出多少代价,因此总是应该采用端口适配器架构而不是四层架构。

让基础设施层依赖领域层,就成了端口适配器架构了?

是的。不过,在做DDD的时候,我们更关注于领域模块,领域模型的实习,至于领域模块之外再分哪些块哪些层,就不那么重要了。