架构

传统分层架构

传统的分层架构通常有2种实现,一个是严格分层架构,这种架构上层只能访问其下层。但是大多数系统都会采用松散的架构:上层可以访问任意下层。

用户接口层

不包含业务逻辑,只处理用户的显示和请求行为。

应用服务层

不处理业务逻辑,通常只用来控制持久化事物,安全认证和消息的通知。流程是:接收来自用户接口层的入参,进行安全认证,调用资源库获取聚合实例,执行相关的操作,发布消息通知。

领域层

处理业务逻辑的唯一层。由领域对象和领域服务组成。

基础设置层

主要包括对资源库进行操作,对3方接口的调用。

六边形架构(端口与适配器)

应用程序通过公共api接收请求,领域模型处理逻辑。资源库和内存变为了一种适配器。比如增加消息组件,只需要添加一种适配器即可。从而可以更多的关注领域,而非技术性的组件。

命令和查询职责分离-CQRS

在这种模型中,查询和命令进行分离。大多数情况下,查询是从资源库获取数据,拼装DTO,不需要经过领域服务。命令模型则是客户端像服务端发送命令,然后在聚合上执行相关的操作。

Last updated

Was this helpful?