最近看了很多有关模型、架构等等之类的概念问题,这些术语在业界的限定和标准也不太明确,就最近的网上检索和查阅的情况,总结如下:
框架:
可以理解为流程或处理过程,是一个为解决某一问题而定义的处理流程。
常见的 ASP.NET 框架、Rails 框架等也可以理解为这样的概念,它们解决的是如何搭建 Web 应用的问题,都规定了一系列的处理流程,从获得用户请求到把请求定向到适当的类,从如何调用自定义函数处理问题到把处理结果发送给用户等等。
模型:
可以理解为描述问题的方式或工具,它区别于“数学建模”、“软件建模”概念。
匹配的如对象模型、关系模型等,它们是一些规定,定义了如何去描述一系列概念,同时也规定了若干操作,以及这些概念之间如何进行交互。
模型是一种工具,是一种描述问题的方式,它帮助人们记录和分析问题,如 UML 模型等。
模式:
使用模型建模得到的东西就是模式,它是一个具体的实例,是一个固定下来的模型。
常见的 Schema 就是模式,而 Pattern 是模型。Schema 是用来描述概念和概念之间关系的,而 Pattern 更多的用于描述概念与实例之间的关系。
当然,还有些被称为模式,但实际上既不是 Schema 也不是 Pattern。