设计模式:基于贫血的MVC开发模式VS基于充血的DDD开发模式

本文探讨了基于贫血模型的MVC开发模式与基于充血模型的DDD开发模式的差异。在贫血模式中,数据和业务逻辑分离,常见于简单系统;而在充血模式的DDD中,业务逻辑封装在Domain类中,适合复杂业务系统的高复用性和维护性需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基于贫血的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)领域驱动设计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值