贫血模型 client -> (business facade) -> business logic -> data access object

entity仅作为data access object传递数据,没有具体的行为,具体业务都在business logic, business logic较重,不那么面向对象

充血模型 client -> (business facade) -> business logic -> entity object -> data access object

business logic可仅拥有权限、事务等控制,符合单一职责
entity object包含了持久化,对开发人员来说可能有点乱,不像分层那样清晰,entity中不要直接放置事务,事务适合business logic或facade
难点:划分business logic 和entity的行为比较模糊
具有特点的特异场景,可放到facade来进行

参照

https://github.com/citerus/dddsample-core

posted on 2019-06-14 16:36  j.liu windliu  阅读(203)  评论(0编辑  收藏  举报