大家好,我是IT修真院深圳分院第十三期学员王东东,一枚正直纯洁善良的JAVA程序员。
今天给大家分享一下,修真院官网JAVA任务一,扩展思考中的知识点——什么是贫血模型,什么是充血模型?为什么我们会强制要求使用贫血模型?。
一、背景介绍
领域模型是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、分析对象模型。分为四类:失血模型,贫血模型,充血模型,胀血模型。
二、知识剖析
1.什么是贫血模型?
贫血模型是指使用的领域对象中只有setter和getter方法(POJO),所有的业务逻辑都不包含在领域对象中而是放在业务逻辑层。
2.什么是充血模型?
充血模型将大多数业务逻辑和持久化放在领域对象中,业务逻辑只是完成对业务逻辑的封装、事务和权限等的处理。比较符合面向对象。
三、常见问题
为什么要强制使用贫血模型?
四、解决方案
系统的层次结构清楚,各层之间单向依赖。
耦合度低,方便后期的更新与维护。
设计简单,底层模型稳定。
五、编码实战
六、扩展思考
贫血模型与充血模型的对比:
他们最大的不同就是如何划分业务逻辑。
贫血模型实体类只有SET GET方法,逻辑基本在服务层实现,代码集中在Service层。耦合性很小,方便团队合作。
充血模型的实体类里不但有状态,还有行为,即属性和方法都有。它的Service层很薄,业务逻辑只是完成对业务逻辑的封装、事务和权限等的处理。对个人技术水平要求较高。
注:本人初学java者,如有不对敬请指出,谢谢&#