硬纸板:一个有关模型和有界上下文的案例 - vladikk



您在图片中看到了什么?一块硬纸板?一些垃圾?
不是!这是模型!
它是西门子KG86NAI31L冰箱的模型。纸板看起来不像冰箱吗?—是的,但并不重要。模型不是真实世界实体的副本,而是应该用来解决问题的构造。
因此,要问的正确问题是:该模型可以解决什么问题?在我们的公寓里,冰箱有时很难搬进厨房。硬纸板的大小代表了冰箱的宽度和深度,把它放在厨房门口,就可以检查冰箱是否可以过门。

俗话说,所有模型都是错误的,但有些模型是有用的。这种模型在许多方面都是错误的。尽管如此,它还是有用的。它帮助我们决定是否要购买西门子这种类型的冰箱或寻找更小的冰箱。
构建冰箱的精确3D纸板副本绝对是一个有趣的项目!但这会使解决方案变得更好或更精确吗?不可以。如果2d模型适合,则3d模型也适合。
但是冰箱的高度如何衡量呢?如果冰箱底座合适进门,但太高了怎么办?建造3D纸板冰箱是否合理?- 不。一个简单的卷尺即可完成这项工作。在这种情况下卷尺是什么?这是另一个简单的模型。
因此,我们有两种型号的同一冰箱来检查它是否可以通过我们怪异的厨房门进入。那块硬纸板和卷尺反映了DDD建模业务领域的方法。
域模型应忽略与其任务无关的无关信息。同样,如果多个简单得多的模型可以有效地单独解决每个问题,则无需设计复杂的万事通模型。
最后,模型仅对应解决的特定问题有效:其有界上下文。