最近看了很多有關模型、架構等等之類的概念問題,這些術語在業界的限定和標準也不太明確,就最近的網上檢索和查閱的情況,總結如下:
框架:
可以理解為流程或處理過程,是一個為解決某一問題而定義的處理流程。
常見的 ASP.NET 框架、Rails 框架等也可以理解為這樣的概念,它們解決的是如何搭建 Web 應用的問題,都規定了一系列的處理流程,從獲得用戶請求到把請求定向到適當的類,從如何調用自定義函數處理問題到把處理結果發送給用戶等等。
模型:
可以理解為描述問題的方式或工具,它區別于“數學建模”、“軟件建模”概念。
匹配的如對象模型、關系模型等,它們是一些規定,定義了如何去描述一系列概念,同時也規定了若干操作,以及這些概念之間如何進行交互。
模型是一種工具,是一種描述問題的方式,它幫助人們記錄和分析問題,如 UML 模型等。
模式:
使用模型建模得到的東西就是模式,它是一個具體的實例,是一個固定下來的模型。
常見的 Schema 就是模式,而 Pattern 是模型。Schema 是用來描述概念和概念之間關系的,而 Pattern 更多的用于描述概念與實例之間的關系。
當然,還有些被稱為模式,但實際上既不是 Schema 也不是 Pattern。