什麼是架構?在維基百科上是這樣定義的:架構是一種過程,並且是計畫、設計、構建和其他物理結構的產品。在《架構漫談》一中認為,架構就是
根據要解決的問題,對目標系統的邊界進行界定。
並對目標系統按某個原則的進行切分。切分的原則,要便於不同的角色,對切分出來的部分,並行或序列開展工作,一般並行才能減少時間。
並對這些切分出來的部分,設立溝通機制。
根據3,使得這些部分之間能夠進行有機的聯絡,合併組裝成為乙個整體,完成目標系統的所有工作。
架構實際上就是指人們根據自己對世界的認識,為解決某個問題,主動地、有目的地去識別問題,並進行分解、合併,解決這個問題的實踐活動。架構的產出物,自然就是對問題的分析,以及解決問題的方案:包括拆分的原則以及理由,溝通合併的原則以及理由,以及拆分,拆分出來的各個部分和合併所對應的角色和所需要的核心能力等。
隨著社會的進步,人們已經從單獨個體生活到團體生活,並且出現了社會的分工。當分工發生後,實際上每個人的生產力都得到了提高,因為做的都是每個人擅長的事情。這樣的話,整個人群的生產力和抵抗環境的能力都得到了增強。在每個人都必須自己完成所有生活必須品的生產的時候,是沒有架構的。一旦產生的分工,就把所有的事情,切分成由不同角色的人來完成,最後再通過交易,使得每個個體都擁有生活必須品,而不需要每個個體做所有的事情,只需要每個個體做好自己擅長的事情,並具備一定的交易能力即可。這實際上就形成了架構。
架構解決的就是人的問題。有的時候在做架構的時候,要進行架構的切分。所謂的切分,根本上說就是對所有相關人的利益調整。
軟體體系結構是具有一定形式的結構化元素,即構件的集合,包括處理構件、資料構件和連線構件。處理構件負責對資料進行加工,資料構件是被加工的資訊,連線構件把體系結構的不同部分組組合連線起來。這一定義注重區分處理構件、資料構件和連線構件,這一方法在其他的定義和方法中基本上得到保持。由於軟體系統具有的一些共通特性,這種模型可以在多個系統之間傳遞,特別是可以應用到具有相似質量屬性和功能需求的系統中,並能夠促進大規模軟體的系統級復用。軟體體系結構解決的就是提公升人類的利益,解決人類的問題。
架構師是軟體行業中一種新興職業,工作職責是在乙個軟體專案開發過程中,將客戶的需求轉換為規範的開發計畫及文字,並制定這個專案的總體架構,指導整個開發團隊完成這個計畫。架構師的主要任務不是從事具體的軟體程式的編寫,而是從事更高層次的開發構架工作。他必須對開發技術非常了解,並且需要有良好的組織管理能力。可以這樣說,乙個架構師工作的好壞決定了整個軟體開發專案的成敗。架構師必須是乙個組織的領導人,有權利調動這個組織的架構,才能夠更好的發揮架構師的作用,更好的把利益的調整落到實處。
閱讀筆記之 《架構漫談》四
一位架構師在專案中,應該是專案的最大權力者,對專案完全負責,包括團隊在內,都由架構師進行分配,作為專案組中的leader存在。程式設計師在專案中的位置是,我只考慮分配給我的任務如何實現,僅僅是那一部分,而不會去考慮整個專案的構成,軟體架構師不一樣,考慮的問題要全面,站位要高,要在程式設計師的角度之上...
閱讀筆記之 《架構漫談》三
我們要認識到,架構實際上解決的是人的問題。我們人需要什麼,應該用什麼東西來滿足我們的需要,通常不只有乙個東西能解決我們的需求,也不只有乙個需求用到同乙個東西,根據我們需求的不同,相同的東西可能會有不同的用法。我們必須要有這樣乙個概念,就是我們是為了在解決乙個具體的問題的前提下,才需要能解決我們問題的...
《架構漫談》閱讀筆記
在每個人都必須自己完成所有生活必須品的生產的時候,是沒有架構的 當然在個人來講,同一時刻只能做有限的事情,在時間上還是可能會產生架構的 一旦產生的分工,就把所有的事情,切分成由不同角色的人來完成,最後再通過交易,使得每個個體都擁有生活必須品,而不需要每個個體做所有的事情,只需要每個個體做好自己擅長的...