1 前言
最近工作中,我对于模型的设计,尤其是“领域模型”的设计有一些思考和讨论。这篇文章总结了我对领域建模的看法和方法论,也相当于汇总了各位大师对领域建模的不同思想。
领域建模的目标,是解决复杂业务中软件开发的一系列问题。领域建模也是实现这个目标的一条路径,一种方法论。在实践的过程中可能有一种似曾相识的感觉:虽然没听过这个概念,但是这种做法很有道理而且有可能我们本身就在做。
需要注意的是,领域建模的方法有多种,甚至关于领域模型本身的定义也有一些模糊之处。不同的方法论和流派思路大体相似,在细节上还有一些区别。不过条条大路通罗马,他们没有对错之分。
本文更多表现的是我对领域建模的理解,也希望对各位有所启发。
2 什么是领域模型
2.1 定义
领域模型,在本文中的定义源于《UML和模式应用》[1],这本书对领域建模的概述是最完整、可操作性最强的。
领域模型(domain model)是对领域内的概念类或现实世界中对象的可视化表示。领域模型也成为概念模型、领域对象模型和分析对象模型。
领域模型是一种概念模型,也叫问题域模型。它表述的是某个领域的现实概念。