架構之美

出版時間:2009  出版社:機械工業(yè)出版社  作者:Till Adam  頁數(shù):366  譯者:王海鵬,蔡黃輝,徐鋒  
Tag標簽:無  

前言

從編輯手里拿到厚厚的《架構之美》譯稿時,恰巧是我剛剛講完一場消息系統(tǒng)架構的講座之后。而正是在昨天,一位想要創(chuàng)業(yè)的朋友跟我說要尋找一位懂得“架構”的高人與他一起創(chuàng)業(yè)。要知道與代碼不同的是,“虛幻”的架構常常讓人認為其有很多玄妙之處,只因它大多難以落在紙上。特別是與很多大師談及架構時,經(jīng)常落入他們的一些“陷阱”,并往往為自己達不到大師的精明與技巧而嘆息。殊不知,被我們所津津樂道的這些架構,是他們在日常工作里經(jīng)歷了大量的錯誤、重復的嘗試、無數(shù)的代碼、長久的考驗所積淀下來的只言片語。本書將數(shù)十人的經(jīng)歷與只言片語,經(jīng)過深思熟慮后抽象出規(guī)律,使之可以不斷復用。而另一方面,又將架構的過程娓娓道來,嘗試讓讀者思考架構的過程與思路。在這里,更多的過程與思考被展現(xiàn)出來,更多的原因與為什么讓我們了解。這本書里展現(xiàn)了很多絢麗的故事,猶如士兵閱讀將軍的傳記一樣,閱讀本書將會讓你更鼓起勇氣追尋大師們的腳步,但永遠要記住,每一滴汗水才真正是你成長路上的每一個記號,要在自己的工作里更深地去理解每一處不同,架構出屬于自己的系統(tǒng)。感謝譯者和出版者為我們帶來這樣一本傳奇的架構故事書。

內容概要

  本書圍繞5個主題領域來組織本書的內容:概述、企業(yè)應用、系統(tǒng)、最終用戶應用和編程語言。本書讓最優(yōu)秀的設計師和架構師來描述他們選擇的軟件架構,剝開架構的各層,展示他們如何讓軟件做到實現(xiàn)功能、可靠、易用、高效率、可維護、可移植和優(yōu)雅。

作者簡介

王海鵬,1994年畢業(yè)于華東師范大學。擁有理學士(物理)和文學士(英國語言文學)學位。獨立的咨詢顧問、培訓講師、譯者和軟件開發(fā)者。已翻譯十余本軟件開發(fā)書籍,主題涵蓋敏捷方法學、需求工程、
UML 建模和測試。擁有15年軟件開發(fā)經(jīng)驗,目前主要的研究領域是軟件架構和方法

書籍目錄


前言
第一部分 論架構
 第1章 什么是架構
  1.1 簡介
  1.2 創(chuàng)建軟件架構
  1.3 架構結構
  1.4 好的架構
  1.5 美麗的架構
  1.6 致謝
  1.7 參考文獻
 第2章 兩個系統(tǒng)的故事:現(xiàn)代軟件神話
  2.1 混亂大都市
  2.2 設計之城
  2.3 說明什么問題
  2.4 輪到您了
  2.5 參考文獻
第二部分 企業(yè)級應用架構
 第3章 伸縮性架構設計
  3.1 簡介
  3.2 背景
  3.3 架構
  3.4 關于架構的思考
 第4章 記憶留存
  4.1 功能和約束
  4.2 工作流 
  4.3 架構關注點
  4.4 用戶反應
  4.5 結論
 第5章 面向資源的架構:在Web中
  5.1 簡介
  5.2 傳統(tǒng)的Web服務
  5.3 Web
  5.4 面向資源的架構
  5.5 數(shù)據(jù)驅動的應用
  5.6 應用面向資源的架構
  5.7 結論
 第6章 數(shù)據(jù)增長:Facebook平臺的架構
  6.1 簡介
  6.2 創(chuàng)建一個社會關系Web服務
  6.3 創(chuàng)建社會關系數(shù)據(jù)查詢服務
  6.4 創(chuàng)建一個社會關系Web門戶:FBML
  6.5 系統(tǒng)的支持功能
  6.6 總結
第三部分 系統(tǒng)架構
 第7章 Xen 和虛擬化之美
  7.1 簡介
  7.2 Xenoservers
  7.3 虛擬化的挑戰(zhàn)
  7.4 半虛擬化
  7.5 Xen 的變換形式
  7.6 改變的硬件,改變的Xen
  7.7 經(jīng)驗教訓
  7.8 延伸閱讀
 第8章 Guardian:一個容錯操作系統(tǒng)環(huán)境
  8.1 Tandem/16,將來所有的計算機都會像這樣構建
  8.2 硬件
  8.3 機械布局
  8.4 處理器架構
  8.5 處理器間總線
  8.6 輸入/輸出
  8.7 進程結構
  8.8 消息系統(tǒng)
  8.9 文件系統(tǒng)
  8.10 民間傳說
  8.11 弊端
  8.12 后繼者
  8.13 延伸閱讀
 第9章 JPC:一個純Java的x86PC模擬程序
  9.1 簡介
  9.2 概念驗證
  9.3 PC架構
  9.4 Java性能技巧
  9.5 把4GB放入4GB:這不起作用
  9.6 保護模式的危險
  9.7 從事一項毫無成功希望的斗爭
  9.8 劫持JVM
  9.9 最終靈活性
  9.10 最佳安全性
  9.11 第二次做會更好
 第10章 元循環(huán)虛擬機的力量:Jikes RVM
  10.1 背景
  10.2 與運行時環(huán)境相關的傳言
  10.3 Jikes RVM簡史
  10.4 一個自足執(zhí)行的運行時自舉
  10.5 運行時組件
  10.6 經(jīng)驗教訓
 參考文獻
第四部分 最終用戶應用架構
 第11章 GNU Emacs:滋長的特性是其優(yōu)勢
  11.1 使用中的Emacs
  11.2 Emacs的架構
  11.3 滋長的特性
  11.4 另外兩個架構
 第12章 當集市開始構建教堂
  12.1 簡介
  12.2 KDE 項目的歷史和組織結構
  12.3 Akonadi
  12.4 ThreadWeaver
第五部分 語言與架構
 第13章 軟件架構:面向對象與面向功能
  13.1 概述
  13.2 示例
  13.3 面向功能解決方案的模塊性評價
  13.4 面向對象視圖
  13.5 面向對象模塊性的評價和改進
  13.6 代理:將操作封裝到對象中
  致謝
  參考文獻
 第14章 重讀經(jīng)典
  14.1 所有東西都是對象
  14.2 類型是隱式定義的
  14.3 問題
  14.4 磚塊和灰漿建筑架構
  參考文獻

章節(jié)摘錄

插圖:第一部分 論架構第1章 什么是架構1.5 美麗的架構所有前面的方法都有助于我們判斷一個架構是否“足夠好”——也就是說,是否有可能指導開發(fā)者和測試者構建一個系統(tǒng),并滿足系統(tǒng)的利益相關人的功能和質量關注點。在我們每天使用的系統(tǒng)中存在著許多好的架構。但是,超越足夠好的架構是怎樣的呢?如果有一個“軟件架構名人堂”,那會怎樣?哪些架構會陳列在這個藝術館的墻上?這個想法可能沒有你想象的那么遙遠——在軟件產品線領域,這樣的“名人堂”的確存在。(注1)進入“軟件產品線名人堂”的條件包括獲得商業(yè)上的成功、影響其他產品線的架構(其他產品線可能“借用、復制、竊取”這個架構)、擁有足夠的文檔從而讓其他人“不必通過道聽途說”就能夠理解該架構。我們將為更一般的“架構名人堂”或“美麗架構藝術館”的候選者設立怎樣的條件呢?首先我們應該認識到,這是一個軟件系統(tǒng)的藝術館,而不是其他藝術館,我們的系統(tǒng)構建的目的是為了使用。所以,我們也許從一開始就應該關注該架構的實用性:它應該每天被許多人使用。但是,在使用架構之前,它必須先構建,所以我們應該關注該架構的可構建性。我們會尋找那些具有定義良好的使用結構的架構,它們支持增量式構建,這樣,通過每次構建迭代我們都能得到一個有用的、可測試的系統(tǒng)。我們也會尋找那些具有定義良好的模塊接口、本來就很好測試的架構,這樣,構建的過程就是透明的、可見的。接來下,我們想尋找那些展示了持久性的架構——也就是說,那些經(jīng)過了時間考驗的架構。我們生活在一個技術環(huán)境以從未有過的加速度變化的年代。美麗的架構應該預期到變更的需要,允許期望的修改能夠容易而有效地進行。我們想尋找那些避免了“衰老地平線”(Klein2005)的架構,超過了這條“衰老地平線”,維護將變得代價極大,以至于不可能進行。

媒體關注與評論

“本書的作者們在介紹軟件架構的基本實踐和最佳實踐方面干得很漂亮,他們也同樣漂亮地介紹了各式各樣的現(xiàn)代系統(tǒng)。我特別喜歡他們談及的架構的廣泛性,從Emacs到Facebook,從非常正式的系統(tǒng)到非常有靈氣的系統(tǒng)。簡而言之,這是一本非常及時的書,對于軟件架構的藝術、科學和實踐是非常有益的貢獻?!薄  狦radyBooch,IBM院士

編輯推薦

《架構之美》榮獲2009年度引進版優(yōu)秀圖書獎!健壯、優(yōu)雅、靈活和易維護的軟件架構是怎樣煉成的?《架構之美》通過一系列優(yōu)秀的文章回答了這個問題,這些文章來自于十幾位當今一流的軟件設計師和架構師。在每篇文章中,作者都向們展示了一個著名的軟件架構,并分析了什么讓其具有創(chuàng)新性,讓其極其符合設計目標。《架構之美》Facebook的架構如何建立在以數(shù)據(jù)為中心的應用生態(tài)系統(tǒng)之上。Xen的創(chuàng)新架構對操作系統(tǒng)未來的影響。KDE項目的社區(qū)過程如何讓軟件的架構從粗略的草圖演進為漂亮的系統(tǒng)。不斷滋長的特征如何讓GNUEmacs獲得從未預料到的功能。JikesRVM自優(yōu)化、自足執(zhí)行的運行時環(huán)境背后的魔法。 獲獎證書:

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    架構之美 PDF格式下載


用戶評論 (總計31條)

 
 

  •   先說說《架構之美》是本什么類型的書,這本書就如同匯集了各個電視頻道充斥的各類股評專家(當然是頂尖級的)的析股法則大全。而什么是成熟的架構師呢?簡單來說,就是能夠取各家之所長,因地制宜,形成適合自己設計場景的架構設計規(guī)律法則?! 】戳艘徊糠郑X得寫得還是比較誠懇的,有以下感想記錄以備忘:  1 COC規(guī)約背后的法則就是架構設計上最重要的一條:概念完整性(處理問題的一致性), 同時,架構設計上的相對簡單也才可能保證概念完整性,一致性。這也是架構能夠比較務實,利于推廣的重要因素。  2 軟件的架構其實是和公司的組織結構及開發(fā)流程相互影響的。當然大多數(shù)情況下是軟件的架構是被動者。但好的軟件架構設計原則反作用于組織機構及開發(fā)流程也不是不可能的?! ? 沒有完美的架構。架構師就是力求做一個務實的“平衡美人”。不能一邊坐擁著間接、長遠才見效、容易視而不見的幕后優(yōu)點,一邊又對為了實現(xiàn)前者隨之帶來的小小應付成本挑三揀四,這樣很容易撿了芝麻丟了瓜。。?! ?.好的架構就是要分離關注點,也即“庖丁解牛,分而治之”。降低耦合性,這樣復雜性也隨著降低了,讓參與系統(tǒng)各個方面的開發(fā)測試人員只需了解自己需要了解的模塊,不需要了解整個系統(tǒng),就能并行地進行工作了。只有這樣才能開發(fā)出超越了單個人智慧所...能理解的復雜軟件生態(tài)系統(tǒng)平臺。對于復雜系統(tǒng)的大部分參與人員:“知其然,也要知所以然”未必適用?! ?.雖然大部分程序開發(fā)人員也隱含行使了架構師的角色與職責,但架構不能這樣以一種自動而隱晦的方式存在,應該適時地有意識地因地制宜的主動做出架構層面上的設計及重構工作。要不然,就像北京城市建設這樣,時間成了唯一的架構因素,基于明清時代遺留的皇城根一環(huán)一環(huán)地攤大餅。。。到那時候,著急也沒用了。?! ?. 不要虛妄地進行所謂的自主創(chuàng)新:大多數(shù)場景下(尤其中國):我們面臨的架構設計其實更多的是架構選型,這沒什么丟人的,孤芳自賞型地閉門造車只能是自娛自樂。就連中國飛豹殲擊機總設計師也要面臨架構選型:是選落后但忒熟悉不容易犯錯的蘇聯(lián)設計規(guī)范,還是先進但忒心里沒譜的美國設計規(guī)范?而如果選用落后的蘇聯(lián)規(guī)范,雖然初期上手很快,但中后期根本就達不到軍委下達的新一代殲擊型轟炸機的技術功能指標。事實是總設計師最終選擇了后者,雖然有風險,不熟悉,但有成功的希望,60周年國慶飛豹也上天飛過天安門了。。 閱讀更多 ›
  •   一半的內容都是國內應用比較少的領域:操作系統(tǒng)、虛擬機。 大部分的內容都是我不熟悉的領域,比較感興趣的是: 1:第三章:伸縮性架構,說的是一個游戲的架構,無法分區(qū),需要擴展,另外客戶端要有大量的運算,作者采用的是一個盡量減少延遲,“任何存在時間超過一個任務的數(shù)據(jù)都被視為持久的”,也就是把每個事務的數(shù)據(jù)都持久化。 2:第四章記憶留存。說的是一個遠程照相館作業(yè)系統(tǒng)。程序(包括數(shù)據(jù)庫結構和數(shù)據(jù))遠程自動更新。程序判斷數(shù)據(jù)庫版本是否與代碼版本相同的做法與Michael上周提的思路相同:用一個數(shù)據(jù)庫中的表來保存版本號。 3:第十一章:GNU Emacs:滋長的特性是其優(yōu)勢 介紹了一個功能超強大的文本編輯器Emacs。這個文本編輯器是一個開源軟件,20年以來不斷有志愿者增加它的功能,架構確沒發(fā)生過大的變化。 感覺這些作者水平還挺高。這本書還值得一看。
  •   我原本以為清華的<UML 2.0 學習指南>已經(jīng)達到了翻譯差的巔峰,當翻開這本書之后,我發(fā)現(xiàn)我錯了.自持語文成績很好的我,有生以來第一次感覺到英語會比漢語更親切...一本神書,就這么被機械工業(yè)的同胞們擊沉了.
  •   并順致問候翻譯們的老媽,真是糟蹋出版社的紙和我們的錢了!
  •     學計算機的都知道, 英文不能太爛。我看《人月》都是看原文的, 看著看著, 不小心把CET6給過了, 嘿嘿……再有個例子, 我看《MICROSOFT WINDOWS INTERNAL》潘愛民翻譯的, 很好的一本書, 作者也很用心翻譯了, 但是, 翻譯得真的麻麻……只看這本書的目錄, 我覺得這本書內容很不錯, 少有的好書。不過就算真的想買, 也買英文原文的好了, 看翻譯的, 浪費錢吶。
  •   粗看了下翻譯,覺得好爛啊,英文好的話一定看原版哦
  •   不介紹實例,不介紹原理。目錄看似很nb,內容空泛,基本就是介紹了幾個已經(jīng)項目是做什么的,然后就沒然后了。
  •   很喜歡在卓越購書,到貨快,貨物品像也很不錯!!!
  •   基本的語文水平都沒有,段不分段,行不分行,看了太難受,還這老貴
  •   我很討厭這種一堆人翻譯過來的書。要看就看原版吧,真不要看翻譯的。
  •   不好意思, 這么晚才來評論.
  •   需要的就是最好的,不錯
  •   對于學習架構很有幫助
  •   架構是系統(tǒng)設計的一部分,清晰的架構有助于減少功能重復。壞的架構設計會招致更壞的架構設計,好的架構定義過程會生成優(yōu)美的架構。UNIX系統(tǒng)和萬維網(wǎng)(Web)架構是優(yōu)美架構之典范。
  •   看起來比較舊,紙質一般,內容還可以
  •   買給同事的 正版 全五分
  •   部門工作需要購買的此書,對工作上又幫助。書拿到手里感覺質量還是可以的,上午定的書下午就到了!真是亞馬遜好有效率?。≠澷澷?/li>
  •   業(yè)余性讀物,可以開闊下視野
  •   無可挑剔,看了一年多,體會良多
  •   什么叫做構架
  •   書看著還行吧,一般般。
  •   提供新的視角
  •   架構之美
  •     確實使關注的一些值得關注的問題,但是看著確實有點不知所云.或許使翻譯的問題,但也由作者的問題吧,講述自己的理論的方法出了點小問題貌似
  •     構架在最初構想的時候,可以脫離實際,思考出解決問題的最佳途徑,但是在實施過程中,必須要考慮細節(jié)。比如書中SUN公司的DardStar,單純從構架角度,不可謂不理想,但是試想一群沒做過MMO的人在實驗室給MMO設計構架現(xiàn)實嗎?其結果就是構架看上去很美,解決了表面上的關鍵問題,但是沒有解決實際問題,到頭來構架不堪重用,最后,當Oracle把SUN收購之后,第一個開出掉的就是這個項目。
      讀這本書可以讓我們更好的從構架角度思考問題,但是在實施的時候,工程師可能會發(fā)現(xiàn)構架上的各種問題,為了避免工程階段的問題,每個構架師也應該有很強的工程和業(yè)務領域知識,否則只能是華而不實-beautiful的構架。
  •     記得看這本書英文原版的時候,我就一直在問自己一個問題中國有沒有架構師。后來在MSN簽名上把這句話放了上去,結果行業(yè)里一位朋友說,中國還是有架構師的,真是遠遠沒有名片上印著“架構師”頭銜的多。
  •   這么悲觀啊,呵呵
  •   中國肯定不缺專家....自從蓋茨老大頂上了一個首席架構師的名號之后,這個名稱在國內也火了起來。5年軟件經(jīng)驗就可以當首席架構師了
  •   基本上沒有老外真正意義上的架構師,中國的架構師90%都是從事架構選型的工作,當然能做好這個已經(jīng)相當難了。
  •   中國軟件起步晚,還是和國外有差距的
  •   響屁不臭,臭屁不響
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7