1 失血型 dom
domain中的object 是纯粹的数据对象字段,也就是咱们日常代码中的写法
我的理解是,全部的数据对象,模型,均可以认为是领域模型
能够按照模块划分,好比dubbo中,user模块,product模块。。。
能够按照层级划分,好比core-model 中的domain
失血型的领域模型是最经常使用的领域模型spa
2 贫血型
在贫血型的领域模型中,domain object中,不在是单纯的数据对象字段和get/set方法了,在这里面出现了业务逻辑,可是这些业务逻辑划分是有讲究的,
即,哪些业务是能够放在domain object中,哪些是不能放在domain object中.net
采用的原则是 case by case
可重用度高的,和domain object状态密切关联的放在domain object中
可重用度低的,和domain object状态没有密切关联的放在xxxmanager中。
domain object
manager ---server----daoserver
3 充血型
只作了解 充血模型和贫血模型差很少,即认为,绝大多业务逻辑都应该被放在domain object里面(包括持久化逻辑),而Service层应该是很薄的一层(像facade同样,仅仅是调用),仅仅封装事务和少许逻辑,不和DAO层打交道。 对象
domain object
manager ---server(很薄的一层,仅仅用来作调用)----daoblog
4 胀血型
只作了解 domain object
manager ------dao 直接取消service事务
参考:https://blog.csdn.net/jianping_shen/article/details/1591913get