领域模型设计

层次结构

.表现层

 

.业务层

 .业务层外观(Service)

 .业务服务层(流程控制)

 .领域对象仓库层(Dao)

 .领域对象层(Do)

 

.持久层

 .数据访问层

.数据库  

 

领域模型4种模型
1.失血模型

.Do只有属性及其getter/sertter方法,没有任务业务逻辑。

.缺点:行为与数据分离,很多情况导致维护与理解困难。

 

2.贫血模型

.  Do包含不依赖于持久化的领域逻辑;依赖于持久化的领域逻辑归于Service层。

.  Service(业务逻辑,事物封装)

.  DAO

.  DO

 

. 优点:

    . 各层单向依赖,结构清晰,易于实现和维护。

  . 设计简单易行,底层模型非常稳定。

 

.缺点:Do部分的持久化逻辑放入Service层,不够OO。

.  Service层过重。

   

 

3. 充血模型

. 与贫血模型类似,不同之处在于如何划分业务逻辑,绝大多业务逻辑放在DO(包括持久化逻辑)

     Service层薄弱,只有事物额封装和少量业务逻辑,不与Dao层打交道。

 

.  Service(事物封装)

.  DO

.  DAO

     

. 优点:

    .符合OO

    . Service层很薄,只充当facade的角色,不与Dao打交道。

 

. 缺点:

    Dao和Do双向依赖.

 

4.胀血模型

 . 取消Service层只有Do和Dao层,在DO的domain logic上封装事物。

 .DO

 .DAO

 

 优点:分层简化、符合OO。

 缺点: Do暴露给web层太多的信息,可能引起不必要的耦合。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值