出版時(shí)間:2009 出版社:機(jī)械工業(yè)出版社 作者:Till Adam 頁數(shù):366 譯者:王海鵬,蔡黃輝,徐鋒
Tag標(biāo)簽:無
前言
從編輯手里拿到厚厚的《架構(gòu)之美》譯稿時(shí),恰巧是我剛剛講完一場消息系統(tǒng)架構(gòu)的講座之后。而正是在昨天,一位想要創(chuàng)業(yè)的朋友跟我說要尋找一位懂得“架構(gòu)”的高人與他一起創(chuàng)業(yè)。要知道與代碼不同的是,“虛幻”的架構(gòu)常常讓人認(rèn)為其有很多玄妙之處,只因它大多難以落在紙上。特別是與很多大師談及架構(gòu)時(shí),經(jīng)常落入他們的一些“陷阱”,并往往為自己達(dá)不到大師的精明與技巧而嘆息。殊不知,被我們所津津樂道的這些架構(gòu),是他們在日常工作里經(jīng)歷了大量的錯(cuò)誤、重復(fù)的嘗試、無數(shù)的代碼、長久的考驗(yàn)所積淀下來的只言片語。本書將數(shù)十人的經(jīng)歷與只言片語,經(jīng)過深思熟慮后抽象出規(guī)律,使之可以不斷復(fù)用。而另一方面,又將架構(gòu)的過程娓娓道來,嘗試讓讀者思考架構(gòu)的過程與思路。在這里,更多的過程與思考被展現(xiàn)出來,更多的原因與為什么讓我們了解。這本書里展現(xiàn)了很多絢麗的故事,猶如士兵閱讀將軍的傳記一樣,閱讀本書將會讓你更鼓起勇氣追尋大師們的腳步,但永遠(yuǎn)要記住,每一滴汗水才真正是你成長路上的每一個(gè)記號,要在自己的工作里更深地去理解每一處不同,架構(gòu)出屬于自己的系統(tǒng)。感謝譯者和出版者為我們帶來這樣一本傳奇的架構(gòu)故事書。
內(nèi)容概要
本書圍繞5個(gè)主題領(lǐng)域來組織本書的內(nèi)容:概述、企業(yè)應(yīng)用、系統(tǒng)、最終用戶應(yīng)用和編程語言。本書讓最優(yōu)秀的設(shè)計(jì)師和架構(gòu)師來描述他們選擇的軟件架構(gòu),剝開架構(gòu)的各層,展示他們?nèi)绾巫屲浖龅綄?shí)現(xiàn)功能、可靠、易用、高效率、可維護(hù)、可移植和優(yōu)雅。
作者簡介
王海鵬,1994年畢業(yè)于華東師范大學(xué)。擁有理學(xué)士(物理)和文學(xué)士(英國語言文學(xué))學(xué)位。獨(dú)立的咨詢顧問、培訓(xùn)講師、譯者和軟件開發(fā)者。已翻譯十余本軟件開發(fā)書籍,主題涵蓋敏捷方法學(xué)、需求工程、
UML 建模和測試。擁有15年軟件開發(fā)經(jīng)驗(yàn),目前主要的研究領(lǐng)域是軟件架構(gòu)和方法
書籍目錄
序
前言
第一部分 論架構(gòu)
第1章 什么是架構(gòu)
1.1 簡介
1.2 創(chuàng)建軟件架構(gòu)
1.3 架構(gòu)結(jié)構(gòu)
1.4 好的架構(gòu)
1.5 美麗的架構(gòu)
1.6 致謝
1.7 參考文獻(xiàn)
第2章 兩個(gè)系統(tǒng)的故事:現(xiàn)代軟件神話
2.1 混亂大都市
2.2 設(shè)計(jì)之城
2.3 說明什么問題
2.4 輪到您了
2.5 參考文獻(xiàn)
第二部分 企業(yè)級應(yīng)用架構(gòu)
第3章 伸縮性架構(gòu)設(shè)計(jì)
3.1 簡介
3.2 背景
3.3 架構(gòu)
3.4 關(guān)于架構(gòu)的思考
第4章 記憶留存
4.1 功能和約束
4.2 工作流
4.3 架構(gòu)關(guān)注點(diǎn)
4.4 用戶反應(yīng)
4.5 結(jié)論
第5章 面向資源的架構(gòu):在Web中
5.1 簡介
5.2 傳統(tǒng)的Web服務(wù)
5.3 Web
5.4 面向資源的架構(gòu)
5.5 數(shù)據(jù)驅(qū)動的應(yīng)用
5.6 應(yīng)用面向資源的架構(gòu)
5.7 結(jié)論
第6章 數(shù)據(jù)增長:Facebook平臺的架構(gòu)
6.1 簡介
6.2 創(chuàng)建一個(gè)社會關(guān)系Web服務(wù)
6.3 創(chuàng)建社會關(guān)系數(shù)據(jù)查詢服務(wù)
6.4 創(chuàng)建一個(gè)社會關(guān)系Web門戶:FBML
6.5 系統(tǒng)的支持功能
6.6 總結(jié)
第三部分 系統(tǒng)架構(gòu)
第7章 Xen 和虛擬化之美
7.1 簡介
7.2 Xenoservers
7.3 虛擬化的挑戰(zhàn)
7.4 半虛擬化
7.5 Xen 的變換形式
7.6 改變的硬件,改變的Xen
7.7 經(jīng)驗(yàn)教訓(xùn)
7.8 延伸閱讀
第8章 Guardian:一個(gè)容錯(cuò)操作系統(tǒng)環(huán)境
8.1 Tandem/16,將來所有的計(jì)算機(jī)都會像這樣構(gòu)建
8.2 硬件
8.3 機(jī)械布局
8.4 處理器架構(gòu)
8.5 處理器間總線
8.6 輸入/輸出
8.7 進(jìn)程結(jié)構(gòu)
8.8 消息系統(tǒng)
8.9 文件系統(tǒng)
8.10 民間傳說
8.11 弊端
8.12 后繼者
8.13 延伸閱讀
第9章 JPC:一個(gè)純Java的x86PC模擬程序
9.1 簡介
9.2 概念驗(yàn)證
9.3 PC架構(gòu)
9.4 Java性能技巧
9.5 把4GB放入4GB:這不起作用
9.6 保護(hù)模式的危險(xiǎn)
9.7 從事一項(xiàng)毫無成功希望的斗爭
9.8 劫持JVM
9.9 最終靈活性
9.10 最佳安全性
9.11 第二次做會更好
第10章 元循環(huán)虛擬機(jī)的力量:Jikes RVM
10.1 背景
10.2 與運(yùn)行時(shí)環(huán)境相關(guān)的傳言
10.3 Jikes RVM簡史
10.4 一個(gè)自足執(zhí)行的運(yùn)行時(shí)自舉
10.5 運(yùn)行時(shí)組件
10.6 經(jīng)驗(yàn)教訓(xùn)
參考文獻(xiàn)
第四部分 最終用戶應(yīng)用架構(gòu)
第11章 GNU Emacs:滋長的特性是其優(yōu)勢
11.1 使用中的Emacs
11.2 Emacs的架構(gòu)
11.3 滋長的特性
11.4 另外兩個(gè)架構(gòu)
第12章 當(dāng)集市開始構(gòu)建教堂
12.1 簡介
12.2 KDE 項(xiàng)目的歷史和組織結(jié)構(gòu)
12.3 Akonadi
12.4 ThreadWeaver
第五部分 語言與架構(gòu)
第13章 軟件架構(gòu):面向?qū)ο笈c面向功能
13.1 概述
13.2 示例
13.3 面向功能解決方案的模塊性評價(jià)
13.4 面向?qū)ο笠晥D
13.5 面向?qū)ο竽K性的評價(jià)和改進(jìn)
13.6 代理:將操作封裝到對象中
致謝
參考文獻(xiàn)
第14章 重讀經(jīng)典
14.1 所有東西都是對象
14.2 類型是隱式定義的
14.3 問題
14.4 磚塊和灰漿建筑架構(gòu)
參考文獻(xiàn)
跋
章節(jié)摘錄
插圖:第一部分 論架構(gòu)第1章 什么是架構(gòu)1.5 美麗的架構(gòu)所有前面的方法都有助于我們判斷一個(gè)架構(gòu)是否“足夠好”——也就是說,是否有可能指導(dǎo)開發(fā)者和測試者構(gòu)建一個(gè)系統(tǒng),并滿足系統(tǒng)的利益相關(guān)人的功能和質(zhì)量關(guān)注點(diǎn)。在我們每天使用的系統(tǒng)中存在著許多好的架構(gòu)。但是,超越足夠好的架構(gòu)是怎樣的呢?如果有一個(gè)“軟件架構(gòu)名人堂”,那會怎樣?哪些架構(gòu)會陳列在這個(gè)藝術(shù)館的墻上?這個(gè)想法可能沒有你想象的那么遙遠(yuǎn)——在軟件產(chǎn)品線領(lǐng)域,這樣的“名人堂”的確存在。(注1)進(jìn)入“軟件產(chǎn)品線名人堂”的條件包括獲得商業(yè)上的成功、影響其他產(chǎn)品線的架構(gòu)(其他產(chǎn)品線可能“借用、復(fù)制、竊取”這個(gè)架構(gòu))、擁有足夠的文檔從而讓其他人“不必通過道聽途說”就能夠理解該架構(gòu)。我們將為更一般的“架構(gòu)名人堂”或“美麗架構(gòu)藝術(shù)館”的候選者設(shè)立怎樣的條件呢?首先我們應(yīng)該認(rèn)識到,這是一個(gè)軟件系統(tǒng)的藝術(shù)館,而不是其他藝術(shù)館,我們的系統(tǒng)構(gòu)建的目的是為了使用。所以,我們也許從一開始就應(yīng)該關(guān)注該架構(gòu)的實(shí)用性:它應(yīng)該每天被許多人使用。但是,在使用架構(gòu)之前,它必須先構(gòu)建,所以我們應(yīng)該關(guān)注該架構(gòu)的可構(gòu)建性。我們會尋找那些具有定義良好的使用結(jié)構(gòu)的架構(gòu),它們支持增量式構(gòu)建,這樣,通過每次構(gòu)建迭代我們都能得到一個(gè)有用的、可測試的系統(tǒng)。我們也會尋找那些具有定義良好的模塊接口、本來就很好測試的架構(gòu),這樣,構(gòu)建的過程就是透明的、可見的。接來下,我們想尋找那些展示了持久性的架構(gòu)——也就是說,那些經(jīng)過了時(shí)間考驗(yàn)的架構(gòu)。我們生活在一個(gè)技術(shù)環(huán)境以從未有過的加速度變化的年代。美麗的架構(gòu)應(yīng)該預(yù)期到變更的需要,允許期望的修改能夠容易而有效地進(jìn)行。我們想尋找那些避免了“衰老地平線”(Klein2005)的架構(gòu),超過了這條“衰老地平線”,維護(hù)將變得代價(jià)極大,以至于不可能進(jìn)行。
媒體關(guān)注與評論
“本書的作者們在介紹軟件架構(gòu)的基本實(shí)踐和最佳實(shí)踐方面干得很漂亮,他們也同樣漂亮地介紹了各式各樣的現(xiàn)代系統(tǒng)。我特別喜歡他們談及的架構(gòu)的廣泛性,從Emacs到Facebook,從非常正式的系統(tǒng)到非常有靈氣的系統(tǒng)。簡而言之,這是一本非常及時(shí)的書,對于軟件架構(gòu)的藝術(shù)、科學(xué)和實(shí)踐是非常有益的貢獻(xiàn)?!薄 狦radyBooch,IBM院士
編輯推薦
《架構(gòu)之美》榮獲2009年度引進(jìn)版優(yōu)秀圖書獎!健壯、優(yōu)雅、靈活和易維護(hù)的軟件架構(gòu)是怎樣煉成的?《架構(gòu)之美》通過一系列優(yōu)秀的文章回答了這個(gè)問題,這些文章來自于十幾位當(dāng)今一流的軟件設(shè)計(jì)師和架構(gòu)師。在每篇文章中,作者都向們展示了一個(gè)著名的軟件架構(gòu),并分析了什么讓其具有創(chuàng)新性,讓其極其符合設(shè)計(jì)目標(biāo)?!都軜?gòu)之美》Facebook的架構(gòu)如何建立在以數(shù)據(jù)為中心的應(yīng)用生態(tài)系統(tǒng)之上。Xen的創(chuàng)新架構(gòu)對操作系統(tǒng)未來的影響。KDE項(xiàng)目的社區(qū)過程如何讓軟件的架構(gòu)從粗略的草圖演進(jìn)為漂亮的系統(tǒng)。不斷滋長的特征如何讓GNUEmacs獲得從未預(yù)料到的功能。JikesRVM自優(yōu)化、自足執(zhí)行的運(yùn)行時(shí)環(huán)境背后的魔法。 獲獎證書:
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載