领域驱动可以做到的设计,普通MVC开发方式也一样可以做到?

刚开始接触领域驱动的时候,一直有个小疑问很困扰,如骨鲠在喉,今天在这里记录并和大家讨论一下。

复杂软件开发场景下,领域驱动的好处就不多说了。

我的疑问是:假设代码按已经照领域驱动的方式的写好了,我强行将领域的充血模型代码拆分成两个文件:贫血模型+配套服务。可读性、可复用性、可维护性跟领域驱动设计是一样的,无非是一个代码文件变成了两个代码文件。

那是不是可以认为:领域驱动可以做到的设计,普通MVC开发方式也一样可以做到?

其实这个假设前提是不存在的。如果原来直接站在面向数据库编程的角度,是很难写出面向领域(面向对象)的代码的,处理逻辑都沉浸在如何拼装功能、如何操作数据库了。

领域驱动不是简单战术上的文件的合并,不是简单将函数添加到对象中变成充血模型,而是思想和设计哲学上的改变。

可以说领域驱动的实现必然包含了充血模型,而有充血模型的代码却不一定是领域驱动设计,可能只是改变形式的MVC开发方式。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值