领域模型与建模范式
即使采用领域模型驱动设计,针对同一个领域获得的领域模型也会千差万别,除了因为设计能力、经验及对现实世界的理解不一致外,对模型产生根本影响的是建模范式(Modeling Paradigm)。
“范式(Paradigm)”一词最初由美国哲学家托马斯·库恩(Thomas Kuhn)在其经典著作《科学革命的结构(The Structure of Scientific Revolutions)》中提出,被用于对科学发展的分析。库恩认为每一个科学发展阶段都有特殊的内在结构,而体现这种结构的模型即范式。他明确无误地给出了范式的一个简洁定义:
“按既定的用法,范式就是一种公认的模型或模式。”
范式可以用来界定什么应该被研究、什么问题应该被提出、如何对问题进行质疑,以及在解释我们获得的答案时该遵循什么样的规则。倘若将范式运用在软件领域的建模过程中,就可以认为建模范式就是建立模型的一种模式,是针对业务需求提出的问题进行建模时需要遵循的规则。
倘若要建立领域模型,可以遵循的建模范式包括结构范式、对象范式和函数范式,恰好对应于三种编程范式(Programming Paradigm):
- 结构化编程(structured programming)
- 面向对象编程(object-oriented programming)
- 函数式编程(functional programming)
建模范式与编程范式的对应关系,也证明了分析、设计与实现三位