7|领域建模原理:DDD领域建模和传统方法有什么区别?

前面几节课,我们一起完成了行为需求和领域建模,重点在于实践。但是,如果仅停留在实践层面,不去了解背后的原理,我们就会知其然而不知其所以然,最终还是不能很好地进行实践。

所以,在对领域建模有了一定的感性认识以后,今天我们上升到理论层面,一起来理解模型驱动设计的本质含义。然后再来深入探讨“统一语言”,以及它和领域建模的关系。

什么是领域模型?

在讨论什么是领域模型之前,咱们先说说什么是模型。

先来看几个例子。比如说你去买房,售楼处都会有一个沙盘模型,这样你就可以看到楼的外观、朝向、周边环境等等。

但是如果要盖这个楼盘,靠沙盘模型就不行了,需要有一套详细的建筑图纸,图纸也是模型。为了对大楼进行设计,还要进行各种计算,计算用的公式也是模型,称为数学模型。另外,小孩玩的玩具车、玩具枪什么的,也是模型。事实上,现代生产和生活中,充满着各种各样的模型。

从这些例子里,咱们可以发现模型的几个共同特点。

首先,模型是以解决特定问题为目的的。例如沙盘模型是为了卖房,而建筑图纸是为了盖楼。没有目的就谈不上模型。

第二,模型都是对现实世界或人们思维中的事物进行的模拟。例如沙盘模型和建筑图纸都是对建筑物的模拟,而玩具车是对真车的模拟。

第三,模型总是提取了被模拟事物中的部分信息,而忽略掉了其他大部分信息。例如,沙盘模型提取了楼盘的外观信息,但是忽略了内部结构和建筑材料信息。而建筑图纸反映了内部结构信息,但忽略了外观信息。到底提取哪些信息,忽略哪些信息,取决于模型的目的。

第四,模型可以有多种表现形式,例如图纸、影像、公式以及电脑中的文件等等。具体采用哪种形式,取决于要解决的问题和当前的技术水平。

最后,模型是一种人造物,大自然本身是不存在模型的。

软件开发是一个建模过程

说到这儿,不知道你发现了没有?其实计算机软件也是一种模型。这是因为,计算机软件也是为了满足业务需求,对现实世界的事物和逻辑进行的模拟。所以,我们开发计算机软件的过程也是一个建模过程。

软件本质上是运行在机器上的一串二进制流,我们姑且称之为“机器模型”。我画了一张图,表示了现实世界和机器模型之间的关系。

我们看到,在机器模型和丰富多彩的现实世界之间存在着巨大的鸿沟,所以,用二进制直接为现

  • 19
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码出天空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值