OSCHINA答讀者問之二:什麼是架構?以及什麼是架構師?

來源:互聯網
上載者:User

我曾經去給OSCHINA做過一期有關“軟體工程實踐”的有獎高手問答 (獎是給提問者的,哈哈),現在來看,許多問題仍然可讀之處,因此整理成文字,以為眾賞。

原貼在這裡:http://www.oschina.net/question/12_78459

本篇的問題是:什麼是架構?以及什麼是架構師?

答:

幾位讀者都提到了架構的問題,但架構話題並沒有在《大道至簡》這本書裡討論過,而在另一本《大道至易——實踐者的思想》才有所討論。不過這裡我還是樂於解釋一下一些基本的問題,或談談我的一些基本的觀點。

 
僅以架構而言,要討論的問題總的來說就兩個方面,一是“範圍”,就是項目與項目目標要做多大、多久,做到怎樣效果的問題,並且圍繞這個“範圍”來給出一些合理的方案給開發實施的團隊。二是“聯結件”,就是如果上述的範圍要由多個階段或多個構件來構成,那麼這些範圍或構件之間如何關聯的,以及如何確保這些關聯是長期有效。

為了簡單的說清這個架構的概念,以一個外掛程式的架構來說,就是確定“外掛程式用於補充主體軟體的某個功能”,並確定“外掛程式與主體軟體之間如何銜接通訊”。那麼有了這兩點,外掛程式的架構,也就設計完了。把這個模式擴大到一個平台,或一個大型的系統,或者細化到它們的各個局部中去,就是“平台架構”或“系統架構”了。當然,這僅在簡單地、形式化地在討論“架構”這個東西,因為“架構”與規模問題儘管有關係,但並非是一一對應的。不能說“大系統就要架構,小東西就不需要”,這樣的認識是不正確的。

架構在根底上來說,是一種系統化的視角。如果你將一個對象理解為“系統”,或“有系統性的”,那麼它就必然存在內部的關係與外部的邊界——否則,必是離散的,或混沌不清的。而架構的“範圍”與“聯結件”,談的就是這個對象的內部關係與外部邊界。如果你具有架構思維,那麼在你的視角下,凡事、凡物、凡內外,無不如此。

而架構師,要麼離散上述關係、肢解上述結構,要麼通過明確的方式來固化上述的關係與結構。如是,是做架構。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.