其他分享
首页 > 其他分享> > DDD—分层架构、洋葱架构、六边形架构

DDD—分层架构、洋葱架构、六边形架构

作者:互联网

一、DDD分层架构         DDD分层架构中有很重要的依赖原则:每层只能与位于下方的层发生耦合,类似于网络的7层或TCP/IP的4层模型架构,每一层各司其职,并且只关心向下一层的实现,而不会出现各层耦合。         DDD分层架构中包含四层:从上到下分别是用户接口层,应用层,领域层和基础层。   

 

 

二、洋葱架构         2008年Jeffrey Palermo已经提出了具有分层思想的洋葱架构,如下图,同心圆代表软件的不同部分,从里向外依次是领域模型,领域服务,应用服务和外层的基础设施和用户终端。         洋葱架构根据依赖原则,定义了各层的依赖关系,越往里依赖程度越低,代码级别越高,越是核心能力。外圆代码依赖只能指向内圆,内圆不需要知道外圆的情况,这种架构也是典型的分层架构,和DDD分层架构一样,都体现了高内聚,低耦合的设计特性。洋葱架构也常作为指导微服务设计的重要架构之一。   

 

 

三、六边形架构         2005年Alistair Cockburn提出了六边形架构,在这个架构中,将应用分为内六边形和外六边形两层,内六边形实现应用的核心业务逻辑。外六边形完成外部应用,基础资源等的交互和访问,对于与不同的外部系统交互,由外六边形的适配器负责协议转换,保证内六边形业务逻辑的干净。         这种架构也是典型的分层架构,和DDD分层架构一样,都体现了高内聚,低耦合的设计特性。六边形也常作为指导微服务设计的重要架构之一。   

 

 

四、DDD分层协作        DDD各层的主要职责和怎么分工协作如下图:

 

 

  PO(数据持久化对象):与数据库字段映射的数据载体   DO(领域对象):领域模型核心业务对象的载体,包括实体和值对象   DTO(数据传输对象):用于前端和微服务交互的数据传输载体      用户接口层:主要有facade接口,Assembler转换器        应用层:      领域层:
     基础层:

标签:逻辑,架构,接口,领域,六边形,DDD
来源: https://www.cnblogs.com/jiyukai/p/14830869.html