架構、構架、結構、框架之間有什麼區別?


謝題主之邀!

這是一個 FAQ,在碼農界和軟體技術翻譯界經常有人問,容易混淆。

其實這幾個詞分別來源與不同的英文原詞。

結構 Structure

通用的一個詞,在不同專業領域可能有不同的含義。泛指一個東西、系統、概念的內部組成元素,以及這些組成元素之間的聯造(construction)關係。

架構 Architecture

(也譯作「建築」、「體系結構」、「總體結構」、「構架」等等)

計算機、IT、軟體工程等專業的一個術語,如系統架構、軟體架構等等。這個詞其實是軟體行業對於建築行業的學習和借鑒,用一個物理、實在的「建築」來比喻一個抽象、虛擬的軟體系統。

軟體架構是指構成一個軟體系統核心(主體、基礎)結構的組成元素,以及這些核心組成元素之間的相互依賴、交互、協作等關係。一個軟體架構(模型)是動靜結合的,既包含了核心元素之間的靜態結構(static structural)關係,也包含了它們之間的動態行為(dynamic behavioral)關係。

構架

在軟體工程領域,通常是某些譯者對於 Architecture 的另一種譯法,我不贊成這麼譯。

也有人把 Framework 譯成「構架」的。

框架 Framework

...


一個 架構構架了一個框架,約束框架使用者只能使用規定的結構來進行二次開發。


換成英文就理解了。

看著你們用中文學編程我就捉急。


1.什麼是框架(軟體工程含義)?

答:是整個或者部分系統的可復用設計;

表現為一組抽象構件及構件實例間交互的方式。

結合架構補充,與業務無關的管理決策框架在沒有載入業務數據之前,只能稱之為框架;

管理結構框架:

1).業務架構:主要是為用戶載入和組織業務提供的一個手段和環境,也是實際應用時的業務門戶;

設計技術:統一門戶,統一許可權,工作流,商務智能(BI)等;

2).應用架構:主要是面向業務架構提供軟體功能的支持,

不僅提供運行時的業務功能支持,又提供載入時的管理功能支持。

設計技術:元數據標準,元數據管理,方案的形成和管理,知識的形成和管理等;

3).數據架構:面向全局統一的數據綜合利用及管理環境;

涉及技術:非結構化數據處理,檔案管理,「大數據」技術,數據倉庫(特別是DW2.0)涉及的相關技術等

4).技術架構:是構成信息系統物理環境的產品集合,包括伺服器,操作系統,中間件,網路環境等基礎技術環境。

涉及技術:虛擬技術、雲計算、容災管理、數據中心監控等等;

5).安全架構:構建網路、硬體、和軟體相結合的安全體系,通過監控手段來確保系統穩定。

2.什麼是架構(又名軟體架構)?

答:是有關軟體整體結構與組件的抽象描述

用於指導大型軟體系統各個方面的設計。

(架構描述語言(ADL)用於描述軟體的體系架構架);

註:結合1的理解,設計的軟體架構採用了XX框架;


架構是指軟體結構的專用名詞,

構架只是架構的另一種叫法

框架指的是一些通用的結構和組件


蛋炒飯、飯炒蛋、炒蛋飯。

你滴,暗的死蛋?


What is the difference between framework and architecture?


推薦閱讀:

如何反駁「XX語言是最好的編程語言「這一觀點?
對一個忽然對計算機編程感興趣的文科碩士妹子,入門推薦什麼最好呢?
什麼是Spineless Tagless G-machine?
成功重構了代碼是種怎樣的體驗?

TAG:編程 | 軟體架構 | 軟體工程 | 名詞解釋 |