美文网首页
初识失血,贫血,充血,胀血四种模型

初识失血,贫血,充血,胀血四种模型

作者: lenny611 | 来源:发表于2019-08-12 21:29 被阅读0次

领域模型分为4大类:失血模型、贫血模型、充血模型、胀血模型。
这类理论都是些软件设计领域的大牛(如Martin Fowler)提出来的。
想要理解这几个分类,先要知道“血”指的是domain object的model层内容。

1、失血模型
失血模型中,domain object只有属性的get set方法的纯数据类,所有的业务逻辑完全由Service层来完成的,由于没有dao,Service直接操作数据库,进行数据持久化。
service 肿胀的服务逻辑
model:只包含get set方法

2、贫血模型
贫血模型中,domain ojbect包含了不依赖于持久化的原子领域逻辑,而组合逻辑在Service层。
service :组合服务,也叫事务服务
model:除包含get set方法,还包含原子服务
dao:数据持久化

3、充血模型
充血模型中,绝大多业务逻辑都应该被放在domain object里面,包括持久化逻辑,而Service层是很薄的一层,仅仅封装事务和少量逻辑,不和DAO层打交道。
service :组合服务 也叫事务服务
model:除包含get set方法,还包含原子服务和数据持久化的逻辑

4、胀血模型
胀血模型取消了Service层,只剩下domain object和DAO两层,在domain object的domain logic上面封装事务。

一般来说失血模型和胀血模型不常见,多采用贫血模型。
贫血模型和充血模型的差别在于,领域模型是否要依赖持久层,贫血模型是不依赖的,而充血模型是依赖的。

参考:https://blog.csdn.net/ss1300460973/article/details/88064710

相关文章

网友评论

      本文标题:初识失血,贫血,充血,胀血四种模型

      本文链接:https://www.haomeiwen.com/subject/asupjctx.html