出版時間: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
無
評論、評分、閱讀與下載