很多业务系统都是基于MVC三层架构开发的,确切的讲,是一种基于贫血模式的MVC三层架构(面向过程编程风格)
领域驱动设计(Domain Driver Design,简称DDD)
UserEntity和UserReposity组成数据访问层,
UserBo和UserService组成了业务逻辑层,
UserVo 和UserController 在这里属于接口层.
像UserBo这样,只包含数据,不包含业务逻辑的类,就叫做贫血模式
在贫血模式中,数据和业务被分割到不同的类中.
充血模式正好相反,数据和对应业务逻辑被封装到同一个类.
什么是领域驱动设计?
领域驱动设计,即DDD,主要用来指导如何解耦业务系统,划分业务模块,定义业务领域模型及其交互.
**总结:**基于贫血模式的传统开发模式,重service轻BO;基于充血模型的DDD开发模式,轻service重BO
在BO中做业务 感觉不好代码复用 sql复用
充血模式:
service压力变薄 业务不在service中处理了,在一个domain领域模型中处理(相当于实体类),
得到数据后的实体类在里面做业务处理 ,然后service得到他的处理情况返回到控制层 自己的理解.