领域驱动设计 工厂与仓储

 

在DDD中通常可以分为四个层次:用户界面、应用层、领域层、基础设施层。

 

用户界面,也就是表示层。为用户提供操作界面,同时也会做一些简单的逻辑运算。这个层次一般可以采用MVC风格进行细化,View(V)提供操作界面、Controller(C)作为调度器接收用户请求并选择合适的View显示给用户、Modle(M)在这里只作为表现层简单的数据模型,而不是整个系统的业务模型。它通常可以是封装了一定属性的视图对象(VO/DTO),由应用层提供。

 

应用层,它和领域层一起作为整个系统的业务逻辑层。业务逻辑主要是放在领域层,而应用层只是一层比较薄的封装。它的主要职责是封装业务逻辑的具体实现、为表现层提供统一的访问入口(说白了就是Facade)。它的工作流程是这样的:接受表现层的请求(Request)、调度领域层完成任务、最后将处理结果转换为DTO(Response)返回给表现层。事务的管理一般也放在这一层。

 

领域层,是整个系统的核心部分,大部分的业务逻辑都在这一层实现。领域层细分为几个部分:领域模型、服务、工厂、仓储。领域模型(DomainModle)是其中最重要的概念,它是从领域专家提供的业务知识中直接提炼出来的,表现了业务知识以及它们之间关系。对于一些业务适合放在领域模型中(比如管理领域模型),我们将其抽取出来做成服务(Service),它也是业务规则的一部分。由于每套领域模型都具备一定的复杂结构(聚集),所以可以通过工厂(Factory)来统一生产领域模型。而仓储(Reposistory)则专门负责持久化操作,以使得业务层可以专心于业务,不用管持久化的细节。

 

基础设施层,这一层已经和业务逻辑没有关系了,它封装了数据库操作、文件IO、远程通信等计算机基础操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值