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