官术网_书友最值得收藏!

1.2 認識架構

計算機學科(以及信息技術相關領域)中的“架構”一詞,是從Architecture翻譯過來的。下面是IEEE對Architecture的定義:

Architecture is the fundamental organization of a system embodied in its components,their relationships to each other,and to the environment,and the principles guiding its design and evolution.[IEEE 1471]

架構是系統的基本結構。這種結構體現在組件內、系統彼此間的關系、系統與環境之間的關系,以及指導系統設計與演化的原則上。[IEEE 1471]

一般地,當提及架構這個詞的時候,通常都有特定的上下文環境,可以指代系統架構、信息架構、軟件架構等。

計算機科學家Grady Booch給出的架構的定義[1]如下:

架構代表形成系統的重要設計決策,其中重要程度由變化導致的成本來衡量。

這個定義更有助于理解架構這個概念,它指出了架構與成本是相關的。

再通過現代漢語詞典中的解釋來了解一下這個詞(有時候字詞本義有助于理解專有名詞的含義)。

架構:?建造;構筑。?框架;支架。?泛指事物的組織、結構、格局。

對架構有了初步的認識之后,怎樣才能對架構有深刻的理解呢?建議從兩個方面入手:

●既然這個概念來自建筑工程領域,那么要想有深入準確的理解,就需要看一些建筑方面的資料,比如梁思成的《圖像中國建筑史》手繪圖,通過看圖來直觀地體會什么是架構。此外,還可以到建筑工地去觀察一些施工的情況,具象地幫助自己理解概念;在旅游時有意識地關注不同樣式的建筑,體會不同的風格。“建筑是凝固的音樂[2]”,要主動地從中體會架構的概念,正如體會音樂的旋律。

●對于從計算機科學與工程實踐中總結出來的一些架構的概念,要通過實踐來學習和領會。類比是個好方法,比如對于 MVC 架構,是否會想到 VC++編程中的“Document/View”模型;又比如說到三層架構或者多層架構時,是否會聯想到它與“Client/Server”二層架構的關系。

盡管有些時候沒有意識到在開展架構相關工作[3],但它是客觀存在的。架構師,通常是指從事架構搭建工作的人。在一個團隊中,如果有被明確指派的架構師,那么該團隊的架構工作可能會更加專業化,對提高架構的質量有所幫助。但并不是只有架構師才可以負責架構工作,很多公司、團隊沒有架構師這個職位,而是由工程師或者高級工程師實際承擔這項工作。

要把架構師當成一種角色,而不僅僅是一個頭銜、一個職位。也許有很多人的工作頭銜是架構師,但其實際工作內容和架構關系不大,有些人可能沒有架構師的頭銜,但實際承擔著與架構有關的工作。

主站蜘蛛池模板: 永平县| 内黄县| 射洪县| 沂源县| 平武县| 海兴县| 曲沃县| 磐石市| 兴文县| 息烽县| 澄江县| 巴彦淖尔市| 广东省| 仁布县| 南涧| 辉县市| 确山县| 毕节市| 长沙市| 建始县| 高要市| 郧西县| 临清市| 舟山市| 鹰潭市| 五常市| 马边| 大关县| 福清市| 抚顺市| 延安市| 东安县| 大厂| 桓台县| 德钦县| 长汀县| 黄龙县| 广丰县| 霍邱县| 郓城县| 班玛县|