一、基于贫血的MVC开发模式
MCV三层框架中
M表示Model(数据层),
V表示View(展示层),
C表示Controller(逻辑层)。
但在实际项目中会有所适当调整,
后端项目分为
Respository层(负责数据访问,由Entity和Respository类构成),
Service层(负责业务逻辑,由Bo和Service类构成),
Controller层(负责暴露接口,由Vo和Controller类构成)。
贫血模式是数据和业务逻辑相分离,是面向过程的编程风格,不符合面对对象的封装特性。
比如Service层的数据和业务逻辑,被分离在BO和Service两个类中。
像BO这样,只包含数据,不包含业务逻辑的类,就叫贫血模型。同理,Entity和VO类也是一样。
二、基于充血的DDD开发模式
充血模式指数据和业务逻辑相结合,一起被封装在同一个类中。
DDD开发模式也是按照传统MVC架构分层的,也是Respository层,Service层,Controller层。
但基于充血的DDD开发模式中,Serivce层由Service类和Domain类两部分构成,Domain类不仅包含数据,还包含业务逻辑,而Serive类就变得轻薄。
DDD(Domain Drive Design)领域驱动设计