架構之美 讀後感(3)

2022-09-07 15:27:31 字數 2323 閱讀 9545

所有前面的方法都有助於我們判斷乙個架構是否「足夠好」—也就是說,是否有可能指導開發者和測試者構建乙個系統,並滿足系統的利益相關人的功能和質量關注點。在我們每天使用的系統中存在著許多好的架構。

但是,超越足夠好的架構是怎樣的呢?如果有乙個「軟體架構名人堂」,那會怎樣?哪些架構會陳列在這個藝術館的牆上?這個想法可能沒有你想象的那麼遙遠—在軟體產品線領域,這樣的「名人堂」的確存在。(注1)進入「軟體產品線名人堂」的條件包括獲得商業上的成功、影響其他產品線的架構(其他產品線可能「借用、複製、竊取」這個架構)、擁有足夠的文件從而讓其他人「不必通過道聽途說」就能夠理解該架構。我們將為更一般的「架構名人堂」或「美麗架構藝術館」的候選者設立怎樣的條件呢?首先我們應該認識到,這是乙個軟體系統的藝術館,而不是其他藝術館,我們的系統構建的目的是為了使用。所以,我們也許從一開始就應該關注該架構的實用性:它應該每天被許多人使用。

但是,在使用架構之前,它必須先構建,所以我們應該關注該架構的可構建性。我們會尋找那些具有定義良好的使用結構的架構,它們支援增量式構建,這樣,通過每次構建迭代我們都能得到乙個有用的、可測試的系統。我們也會尋找那些具有定義良好的模組介面、本來就很好測試的架構,這樣,構建的過程就是透明的、可見的。

接來下,我們想尋找那些展示了永續性的架構—也就是說,那些經過了時間考驗的架構。我們生活在乙個技術環境以從未有過的加速度變化的年代。美麗的架構應該預期到

變更的需要,允許期望的修改能夠容易而有效地進行。我們想尋找那些避免了「衰老地平線」(klein 2005)的架構,超過了這條「衰老地平線」,維護將變得代價極大,以至於不可能進行。

最後,我們還想尋找這樣一些架構,它們的特徵讓使用、構建、測試這些架構的開發人員和測試人員,以及由它而形成的系統的使用者感到由衷的高興。為什麼開發人員會高興?因為它讓他們的工作變得容易,而且更有可能得到乙個高品質的系統。為什麼測試人員會高興?作為測試過程的一部分,他們必須嘗試模擬使用者的行為。如果他們高興,可能使用者也會感到高興。如果廚師對他的烹調的菜品感到不高興,那麼品嚐這些菜品的顧客也可能會感到不高興。

不同的系統和應用領域為這些架構提供了許多機會,展示它們特有的令人高興的特徵,但概念完整性是一項跨越所有領域的特徵,並且總是讓人感到高興。一致的架構學習起來更容易、更快,當知道了一點之後,你就可以開始**其餘的部分。不需要記住並處理特殊的情況,**更乾淨,測試集更小。一致的架構不會為做同一件事情提供兩種(或更多)方法,不會讓使用者浪費時間進行選擇。正如ludwig mies van der rohe所說的,好的設計,「少即是多」。愛因斯坦可能會說,美麗的架構就是盡可能簡單,但不要過於簡單。

有了這些判別條件,我們推薦第一批進入「美麗架構藝術館」的候選者。

第乙個是a-7e艦載飛行處理器(onboard flight processor,ofp)的架構,它由海軍研究實驗室(n**al research laboratory,nrl)在20世紀70年代後期開發,在(bass、clements和kazman 2003)有介紹。儘管這個系統從未實現量產,但它滿足了所有其他的判別條件。這個架構對軟體架構的實踐曾經產生了巨大的影響,它展示在真實世界的系統中,將設計時的資訊隱藏模組和使用結構與執行時的程序結構分離。因為美國**資助並開發了這個架構,所以所有專案文件都提供給了公共領域。(注2)這個架構具有定義良好的使用結構,促進了系統的增量式構建。最後,資訊隱藏模組結構為分解系統提供了清晰一致的準則,實現

了很強的概念完整性。作為嵌入式系統軟體架構的榜樣,a-7e ofp當然屬於我們的藝術館。

我們想放入藝術館的另乙個架構是朗訊5ess**交換機的軟體架構(carney等1985)。5ess取得了全球範圍的商業成功,為世界各國的網路提供了核心**網路交換。它成為效能和可靠性的標準,每個單元每小時能處理超過100萬次的連線,平均每年非計畫宕機時間少於10秒鐘(alcatel-lucent 1999)。該架構的一些統一概念,如管理**連線的「半通話模型」,已經成為**和網路協議領域的標準模式(hanmer 2001)。除了保持必須處理的通話型別的數目為2n(其中n是通話協議的數目)之外,半通話模式還在作業系統的程序概念和**的通話型別概念之間建立起了聯絡,從而提供了簡單的設計原則,引入了漂亮的架構一致性。在過去的25年中,開發團隊涉及多達3000個人,他們發展並增強該系統。基於它的商業成功、永續性和影響,5ess架構是我們藝術館的一件好藏品。

還有乙個我們想放入美麗架構藝術館的系統,它就是全球資訊網(world wide web,www)的架構。它由tim berners-lee在cern建立,在(bass、clements和kazman 2003)中有介紹。全球資訊網當然已經取得了商業上的成功,它轉變了人們使用網際網路的方式。即使建立了新的應用、引入了新的功能,它的架構仍然保持不變。該架構的整體簡單性促成了它的概念完整性,但有一些決定導致了該架構的完整性保持不變,如客戶端和伺服器端使用同乙個庫,建立分層架構以實現分離關注點等。核心全球資訊網架構的永續性和它對新擴充套件、新功能持續支援的能力,使它當之無愧地進入了我們的藝術館。

《架構之美》讀後感(一)

看過幾本關於架構的書籍之後,自以為對架構這個概念有了一些自己的認識。但是突然有人問到 什麼是架構?就瞬間熄火,好像架構是一種說不清道不明的東西。架構之美 一開頭就給出了這個問題的答案,架構應該是一組結構,於一組設計規則,能減少複雜性。常見定義是,每種結構由各種型別的元件和關係組成,它們如何組合 相互...

數學之美讀後感

統計語言模型 馬爾可夫鏈,模型訓練,零概率平滑 隱馬爾可夫鏈 概率訓練,鮑姆 韋爾奇演算法 資訊度量和作用 資訊熵,互資訊,聯合概率分布 相對熵 簡單之美 布林袋鼠和搜尋引擎的索引 文獻搜尋 圖論和網路爬蟲 最短路徑,網路爬蟲,雜湊表,工程要點 dfs,bfs,頁面分析和url提取,url表 pag...

《數學之美》讀後感

暑假的時候導師給我推薦了一本 數學之美 作為語音識別入門性的讀物。實話說來從小學到高中再到大學我們一直在學習數學,除了一些基本的加減乘除可以在生活中直接用到。其他的例如 倒數 微積分 各種函式 矩陣 幾乎在日常的生活中與自己沒有什麼交集。最近這個週末我在實驗室裡又將這本書重新閱讀了一筆,才發現數學原...