讀古今文學網 > 程序員必讀之軟件架構 > 第1章 什麼是架構 >

第1章 什麼是架構

在不同的人眼裡「架構」一詞的意思大相逕庭,互聯網上對架構的定義也多如牛毛。過去幾年裡我問過上百人同一個問題,在他們看來「架構」意味著什麼。得到的答案概括如下(排名不分先後):

  • 模塊、連接、依賴和接口;
  • 大局觀;
  • 改變成本很高的事情;
  • 難以改變的事情;
  • 更加兼顧全局的設計;
  • 接口而非實現;
  • 審美(比如:藝術般的整潔代碼);
  • 概念模型;
  • 滿足非功能需求/質量屬性;
  • 每件事都有「架構」;
  • 溝通能力(抽像、語言、詞彙);
  • 計劃;
  • 一定程度的嚴格和可靠性;
  • 藍圖;
  • 系統、子系統、交互和接口;
  • 管理;
  • 戰略決策的產出;
  • 必要的約束;
  • 結構(組件和交互);
  • 技術方向;
  • 戰略和願景;
  • 結構單元;
  • 實現目標的過程;
  • 標準和準則;
  • 整個系統;
  • 工具和方法;
  • 從需求到最終產品的道路;
  • 指導原則;
  • 技術領導力;
  • 構成產品的元素之間的關係;
  • 對環境約束和限制的意識;
  • 基礎;
  • 抽像的觀點;
  • 把問題化整為零的過程;
  • 產品的骨架、支柱。

難怪找不到一個合適的定義!好在還可以分為名詞和動詞兩大類。無論我們談論的是建造一個物理建築或一個軟件系統,都適用。