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

1.3 規劃、架構與設計

架構是客觀存在的,不管你是否有意識地考慮過它。架構不是孤立存在的,它是在具體的上下文環境中,為了達成明確的目標而存在的。

1.3.1 三個不同層次的概念

規劃、架構、設計,這三者是緊密聯系的,因此常常被混為一談。為了理解這些概念的聯系和區別,可以與市政規劃進行類比。在考慮系統架構或軟件架構時,可以借鑒巴西利亞[4]的建城理念和華盛頓[5]的城市規劃理念。不能孤立地談架構,應該結合規劃和設計來談,有確定的上下文環境,有明確的目標。圖 1.1[6]清楚地展示了“規劃”“架構”“設計”三者的層次關系,有助于更好地理解這些概念。架構處于承上啟下的位置。

圖1.1

1.3.2 規劃與架構

這里把規劃與架構分開闡述而不是將它們混為一談,是為了幫助理解思考與實踐的不同階段和步驟,使思路更加清晰。將軟件工程與建筑工程進行類比,更容易理解架構和規劃。

架構,應該是比規劃更具體的層次。在中國歷史上,曾經有很多著名的大都城在城市規劃布局上都體現了《周禮》(圖1.2[7])中的禮制思想。《周禮·考工記》中有“九經九緯”“前朝后市”“左祖右社”的記載,這些都可以理解為規劃。然而,宮、殿等各種房屋怎么建就要涉及架構方式了,比如我國的硬山式、廡殿式,西方的羅馬式、哥特式等。

圖1.2

通過基本架構的靈活組合,可以得到各種各樣的具體架構,用于滿足各個項目的具體需求。常用的三層架構(或者多層架構)本質上可以看作是由多個二層架構(Client/Server)組合而成的。

1.3.3 架構與設計

所有的架構都是設計,但不是所有的設計都是架構[8]。架構可以是宏觀設計、頂層設計。

與架構相比,設計屬于更具體的層面。比如要建一個硬山式房屋,每個房間要具備某些功能,就要有對應的設計;又比如在軟件架構上,有三層架構、MVC架構等,用于指導軟件設計,確定設計方案和技術方向。

主站蜘蛛池模板: 平原县| 巩留县| 南皮县| 沛县| 信宜市| 土默特左旗| 若羌县| 郧西县| 金昌市| 阿合奇县| 甘孜| 高台县| 外汇| 延庆县| 河西区| 皋兰县| 黔西| 广宁县| 磐石市| 晋州市| 思茅市| 九龙坡区| 中山市| 定陶县| 台中市| 清新县| 永年县| 鄂州市| 新巴尔虎右旗| 独山县| 普定县| 奈曼旗| 迭部县| 昌乐县| 康乐县| 中卫市| 荣成市| 德昌县| 西藏| 垦利县| 蕉岭县|