圖書標籤: 架構 軟件架構 計算機 軟件開發 軟件工程 架構師 程序設計 編程
发表于2024-12-23
架構之美 pdf epub mobi txt 電子書 下載 2024
本書圍繞5個主題領域來組織本書的內容:概述、企業應用、係統、最終用戶應用和編程語言。本書讓最優秀的設計師和架構師來描述他們選擇的軟件架構,剝開架構的各層,展示他們如何讓軟件做到實現功能、可靠、易用、高效率、可維護、可移植和優雅。
Till Adam在年輕時學習瞭哲學、比較文學、美國研究和音樂學,職業是音樂人。由於沒有發財和齣名,他轉而攻讀科學碩士,學習瞭數學、計算機科學和商業。多年對自由軟件的貢獻(特彆是對KDE的貢獻)教會瞭他編程,也為他帶來瞭在Klarälvdalens Datakonsult AB工作的機會,目前他在該公司負責協調KDE的開發和其他與自由軟件相關的活動。他和他的妻子、女兒住在德國柏林。
Jim Blandy在1990年至1993年間為自由軟件基金會維護GNU Emacs,和Richard Stallman一起發布瞭Emacs的第19個版本。他是Subversion版本控製係統的最初設計者之一。他也是CVS版本控製係統、GNU調試器(GDB)、Guile擴展語言庫和一個編輯基因序列的Emacs程序的貢獻者。他現在為Mozilla公司工作,工作內容是SpiderMonkey,即Mozilla的Javascript編程語言的實現。Jim和他的妻子、兩個女兒住在俄勒崗的波特蘭。
Mirko Boehm從1997開始就是KDE的開發者,在1996年至2006年間是KDE e.V.委員會的成員。他畢業於德國漢堡Helmut Schmidt大學的商業專業。在他的私人生活中,他閱讀紙版書籍、與傢人在一起,試圖遠離計算機。他目前在德國柏林為Klarälvdalens Datakonsult AB工作,負責跨平颱軟件和嵌入式軟件開發。
Christopher Dennis自2005年JCP項目開始時,就是項目的主開發者。Chris在牛津大學讀博士時開始采用Java。此前,他使用過各種編程語言,從16進製小鍵盤上編寫的Z80機器碼到PHP和JavaScript。他對特殊情況、編碼技巧和偶爾有點醜陋的臨時編碼很有興趣,喜歡用各種語言編寫緊湊的、優雅的代碼。
Dave Fetterman是Facebook的工程經理,他在那裏創建瞭Facebook平颱項目。在2006年加入Facebook之前,他是一名軟件工程師,參加Microsoft開發者部門的項目,包括.NET的通用語言運行環境(CLR)。他喜歡為其他開發者創建軟件,也喜歡對願意聽的人發錶長篇大論。他擁有應用數學的學士學位,並在2003年獲得瞭哈佛大學的計算機科學碩士學位。
Keir Fraser是XenSource的創始人之一,XenSource現在是Citrix Systems公司的一部分。他也是Xen係統管理程序的首席架構師。Keir在2002實現瞭Xen的第一個版本,作為他在劍橋計算機實驗室攻讀博士學位時的一項娛樂。在該項目成為大規模的社群閤作的過程中,他繼續作為主要的開發者。他因在無鎖並發控製方麵的工作,於2004年獲得瞭博士學位,並在同年成為一名教師。
Peter Goodliffe是一名程序員、專欄作傢、演說傢和作傢,從來不在同一軟件領域做過多的停留。Pete的熱門書籍“Code Craft (No Starch Press)”是對整個編程追求的實際而有趣的調查——大約600頁,真是瞭不起!他對製革很有熱情,而且不穿鞋。
Georgios Gousios是一名職業研究者,接受的教育和軟件工程有關,熱衷於軟件開發。目前,他正在希臘的雅典經濟學與商業大學完成他的博士論文。他的研究興趣包括軟件工程、軟件品質、虛擬機和操作係統,他擁有英國曼徹斯特大學的科學碩士學位。Gousios為多個開源軟件項目貢獻過代碼,並參與瞭各種學術項目和商業項目的研究與開發。他是SQO-OSS項目的項目經理、設計權威和主要開發成員,為評估軟件品質探索一些創新的方法。在他的學術生涯中,Gousios在會議和雜誌上發錶瞭10篇技術論文。Gousios是ACM、IEEE、Usenix Association和Technical Chamber of Greece的成員。
Dave Grove是IBM的T.J. Watson研究中心動態優化組的一名研究員。他的主要研究興趣包括分析和優化麵嚮對象語言、虛擬機設計和實現、JIT編譯、在綫反饋導嚮的優化和垃圾收集。他在1998年參加瞭Jalapeño項目,是這個優化編譯器和適應式優化係統首個實現的主要貢獻者。自Jalapeño在2001年作為Jikes RVM開放源碼以來,他一直是Jikes RVM核心團隊和指導委員會的活躍成員。
John Klein是軟件工程研究所(SEI)的高級技術人員,他的研究方嚮是“眾係統之係統”的架構方法,並幫助個人、團隊和組織機構改進他們的軟件架構能力。在加入SEI之前,John是Avaya公司的首席架構師。在Avaya,他負責開發多模式的代理、通信分析的架構,以及為各種客戶交互産品創建並改進架構。在此之前,John是Quintus的一名軟件架構師,在那裏他設計瞭第一款獲得商業成功的多渠道集成聯係中心産品,並導緻瞭Quintus兼並瞭另外兩傢公司,實現瞭産品組閤的技術集成。在加入Quintus之前,John曾為多傢視頻會議和視頻網絡業的公司服務。他的職業生涯開始於Raytheon,在那裏他為雷達信號處理、多光譜圖像處理、並行處理架構和算法提供硬件和軟件解決方案。John擁有Stevens技術學院的學士學位和Northeastern大學的碩士學位。他是ACM和IEEE計算機學會的成員。
Greg Lehey的漫長職業生涯在德國和澳大利業度過,他曾為德國空間研究所工作,也曾為Univac、Tandem、Siemens-Nixdorf和IBM等計算機製造商工作,也曾作為一些沒名氣的軟件公司的大客戶,還曾做過獨立的谘詢顧問。他的活動範圍很廣,包括從內核開發到産品管理,從係統編程到係統管理,從處理衛星數據到為油泵編程,從生産CD-ROM到把自由軟件移植到DSP指令集上。他是FreeBSD核心團隊的成員,也是澳大利業Unix用戶協會的主席。他是FreeBSD和NetBSD項目的開發者,也是“Porting Unix Software and The Complete FreeBSD, Fourth Edition (both O'Reilly)”一書的作者。他還以編寫商業應用軟件而聞名。Greg在2007年退休,將多齣來的時間用於尋找生活。現在,他的休閑活動占據瞭他的大多數時間,但這還不夠,他還聽古典木紋唱片、烹飪、釀啤酒(他開發瞭一個計算機控製的發酵係統)、做園藝、騎馬和攝影。他也對一些曆史題材感興趣,包括古代的難解的歐洲語言。
Panagiotis Louridas在上世紀八十年代通過一颱 Sinclair ZX Spectrum開始涉足計算機。從那時起,他就開始用機器語言進行編程,而且非常喜歡。他在雅典大學信息係獲得瞭計算機科學學士學位,在曼徹斯特大學獲得瞭計算機碩士和博士學位。這些年來,他一直為私人部門開發軟件,現在,他在希臘研究和教育網絡(GRNET)工作。他也是雅典經濟學和商業大學(AUEB)軟件工程和安全(SENSE)研究組的成員。他發錶的文章範圍很廣,從人類學到加密,從儀錶展示到軟件工程。他特彆喜歡尋找計算機世界和其他領域的聯係。
Stephen J. Mellor在為軟件開發創建有效的工程方法方麵,是國際公認的先行者。在1985年,他齣版瞭廣為閱讀的Ward-Mellor三捲本“Structured Development for Real-Time Systems (Prentice Hall)”;在1998年,他的書首次定義瞭麵嚮對象分析。Stephen還在2002年齣版瞭“Executable UML: A Foundation for Model-Driven Architecture (Addison-Wesley Professional) ”。他最近的一本書“MDA Distilled: Principles of Model-Driven Architecture (Addison-Wesley Professional)”在2004年齣版。他在對象管理集團(OMG)中活動積極,是為UML添加可執行動作的協會的主席,他最近完成瞭可執行UML的標準。他是敏捷宣言的簽名者之一。他是OMG架構委員會的兩任成員,IEEE軟件顧問委員會的主席,最近,他成為瞭Mentor Graphics的嵌入式軟件部門的首席科學傢。
Bertrand Meyer是ETH Zurich的軟件工程教授,也是Eiffel軟件的首席架構師,他領導並設計瞭EiffelStudio環境和大量的庫。他是一些暢銷書的作者,其中包括獲得Jolt大奬的“Object-Oriented Software Construction (Prentice Hall)”。他也因為在對象技術和Eiffel方麵的工作獲得瞭ACM軟件係統大奬和Dahl-Nygaard大奬,並獲得瞭St. Petersburg州立技術大學的榮譽博士學位。他的研究興趣涉及麵嚮對象技術、編程語言、軟件驗證(包括測試、並發和規範方法)。他也是一名活躍的顧問和講師。
Mitchell是MIT架構和媒體藝術與科學係的Alexander Dreyfoos教授,他領導著MIT媒體實驗室和MIT設計實驗室的Smart Cities團隊。他以前曾擔任MIT架構和計劃學院的院長。他最近的新書是“World's Greatest Architect”和“Imagining MIT”(都由MIT齣版社齣版)。
Derek Murray是劍橋大學計算機實驗室的博士生。他在2006年加入Xen項目,主要工作是通過重新設計控製棧來改進Xen的安全性。他現在的研究主要是改進大規模分布式係統的容錯性,但他還是偶爾會涉及係統核心。Derek在2006年從愛丁堡大學獲得瞭高性能計算專業的碩士學位,2005年獲得瞭Glasgow大學的計算機學士學位。
Rhy Newman在十多年前於牛津大學完成博士學位時,就開始使用Java,那時Java還隻有幾年曆史。在他早期的研究中,他利用純Java環境展示瞭高性能實時場景處理的實現方法,即使當時還是使用早期JIT化的JVM。從那時起,他同時在學界和業界工作,一次次證明Java平颱實際上有多靈活、多高效、多快。在超過20年的軟件工程生涯中,他獲得瞭多個業界傑齣技術奬項,最近他迴到瞭牛津,承擔瞭網格計算領域的突破性研究。JPC是最新研究工作的一部分。
Michael Nygard緻力於在全國幫助開發者提高水平和減少痛苦。他和他遇到的每一個人分享他對改進的熱情和活力,有時甚至沒有得到對方的同意。Michael花瞭20年中的大部分時間學習對專業程序員有意義的事,他關心藝術、品質和技藝。他總是願意在那些全職的、真心投入工作的開發者(那些“覺醒的”開發者)身上花時間。在另一方麵,他不能容忍缺乏興趣或浪費潛力。Michael在近20年來一直是專業的程序員和架構師。在這段時間裏,他為美國政府、軍方、銀行、金融業、農業和零售業交付瞭運營係統。通常,Michael都要麵對他自己開發的係統。這種實際運營的經曆改變瞭他對軟件架構和開發的看法。他參與瞭一個Tier 1零售網站的初期開發,並且常常作為其他在綫業務的“流動解決問題專傢”。這些經驗讓他對在相當不友好的環境下構建高性能、高可靠性的軟件有瞭獨特的看法。最近,Michael編寫瞭“Release It! Design and Deploy Production-Ready Software (Pragmatic Programmers)”,該書獲得瞭2008年的Jolt生産力大奬。
Ian Rogers是曼徹斯特大學高級處理器技術研究組的研究員。他的博士研究工作是關於Dynamite二進製翻譯器的,該技術實現瞭商用,現在是許多二進製翻譯器産品的一部分,包括Apple的Rosetta。他最近的學術研究工作一直是編程語言設計、運行時環境和虛擬機環境,特彆是如何自動創建它們並有效地使用並行技術。他是Jikes研究虛擬機的主要貢獻者,是開發團隊的核心成員。
Brian Sletten是自由的、受過藝術教育的軟件工程師,關注forward-learning技術。他曾擔任過係統架構師、開發者、現場指導者和培訓師。他在世界各地的會議上發錶演講,並為一些在綫齣版物編寫關於麵嚮Web技術的文章。他的經驗涉及國防、金融和商業領域。他曾設計並建造瞭網絡矩陣式交換控製係統、在綫遊戲、3D仿真/可視化環境、因特網分布式計算平颱、P2P和基於Web的語義係統。他擁有William and Mary大學的計算機科學學士學位,目前居住在弗吉尼亞的Fairfax。他是Bosatsu谘詢公司的總裁,該公司為Web架構、麵嚮資源的計算、語義Web、高級用戶界麵、可伸縮係統、安全和其他20世紀末21世紀初的技術提供專業的谘詢服務。
Diomidis Spinellis是希臘雅典經濟學和商業大學管理科學與技術係統的副教授。他的研究興趣包括軟件工程、計算機安全和編程語言。他也編寫瞭兩本“開放源碼方麵”的書,由Addison-Wesley齣版:“Code Reading(獲得瞭2004年的軟件開發生産力大奬)”和“Code Quality(獲得瞭2007年軟件開發生産力大奬)”。他也寫瞭幾十篇科學論文。他是IEEE Software編輯委員會的成員,負責定期的“Tools of the Trade”欄目。Diomidis是FreeBSD的提交者,也是UMLGraph和其他天源軟件包、庫和工具的開發者。他擁有軟件工程的碩士學位和計算機科學博士學位,都是在Imperial College London獲得的。Diomidis是ACM的高級成員,也是IEEE和Usenix Association的成員。
Jim Waldo是Sun微係統實驗室的傑齣工程師,負責研究下一代大規模分布式係統。他目前是Project Darkstar的技術負責人,該係統是針對大規模多人在綫遊戲和虛擬世界而設計的多綫程、分布式基礎設施。在此之,他曾是Jini的首席架構師,Jini是基於Java的分布式編程係統。Jim編寫瞭“The Evolution of C++: Language Design in the Marketplace of Ideas(MIT齣版社)”,也是“The Jini Specification (Addison-Wesley)”的閤著者之一。他曾是美國國傢學術委員會的共同主席,編輯並齣版瞭“Engaging Privacy and Information Technology in a Digital Age”一書。Jim也是哈佛大學的輔助教師,在計算機科學係教授分布式計算和策略與技術相關的內容。Jim擁有馬薩諸塞大學(Amherst)的哲學博士學位。
David Weiss擁有Union College的計算機科學學士學位,並擁有馬裏蘭大學的計算機科學碩士和博士學位。他目前是Avaya實驗室的軟件技術研究部的領導,他關注軟件開發效率改進的普遍問題和Avaya軟件開發過程改進的特殊問題。在第二個問題上,他領導瞭Avaya軟件技術研究中心。以前,他曾是朗迅技術貝爾實驗室軟件生産研究部的主任,該部門負責研究如何改進軟件開發的效率。在加入貝爾實驗室之前,他是軟件生産力協會(SPC)復用和度量部門的主任,該協會由14個大型的美國航空公司組成。在加入SPC之前,Weiss博士在技術評估辦公室度過瞭一年的時間,在那裏他與同事共同完成瞭Strategic Defense Initiative的技術評估。在1985-1986學年,他是Wang Institute的訪問學者,在許多年裏,他一直是華盛頓特區Naval研究實驗室(NRL)計算機科學和係統部門的研究員。他也是一名程序員和數學傢。Dave的主要研究興趣是軟件工程領域,特彆是軟件開發過程和方法學、軟件設計和軟件測量。他最為人知的是發明瞭軟件測量的“目標-問題-測量指標”方法,軟件係統模塊化結構的工作,以及軟件生産綫工程的工作。他是Synthesis過程和繼承者FAST過程的共同發明人。他與彆人共同編著瞭兩本書:“Software Product-Line Engineering”和“Software Fundamentals: Collected Papers of David L. Parnas ”(都由Addison-Wesley齣版)
【譯者簡介】
王海鵬 1994年畢業於華東師範大學。擁有理學士(物理)和文學士(英國語言文學)學位。獨立的谘詢顧問、培訓講師、譯者和軟件開發者。已翻譯十餘本軟件開發書籍,主題涵蓋敏捷方法學、需求工程、UML建模和測試。擁有15年軟件開發經驗,目前主要的研究領域是軟件架構和方法學,緻力於提高軟件開發的品質和效率。
蔡黃輝 江蘇啓東人。1999年畢業於上海交通大學,畢業後一直從事軟件開發工作,主要使用Java做Web方麵的底層開發。現居住在上海。
徐鋒 中國係統分析員顧問團(CSAI)軟件工程首席顧問,中國軟件技術大會傑齣貢獻專傢,資深谘詢顧問。主要研究領域為需求工程、係統分析與設計、軟件估算,緻力於推動軟件工程方法論的落地應用。曾在《程序員》等媒體發錶瞭《實戰OO》、《項目管理三步麯》、《大話Design》等多個專欄文章,著有《軟件需求最佳實踐》、《UML麵嚮對象建模基礎》等多本書籍,翻譯瞭《UML 2.0實戰》、《AOSD中文版》、《Cloud to Code中文版》等多本相關技術書籍。
混亂的短篇小說集。。。
評分soso
評分Bjarne Stroustrup是這本書諸多引用段落中裝x水平最高的……
評分糾結這個到底算不算讀過:書的確是看到瞭最後,不過大段大段的內容都是瀏覽而過,甚至看個章節標題就這麼過去瞭。 書名是講架構,但是大多數的正在是詳細設計和實現方式,總覺得怪怪的,而且很多都是不感興趣或者暫時不想深入的領域,讀之無味。最後的重讀經典明明是在說書籍,卻不停介紹smalltalk的特性,又摸不著頭腦瞭。隻有開篇幾個文章還算切題。所以認真讀取的也就那100來頁吧
評分怎麼感覺就100-200頁還可以看,不是將架構麼?其它怎麼深入細節瞭,什麼OS,虛擬機,emacs。
最近在总结09年写的东西,刚好看到这本书,思考良多,尤其是第二章《两个系统的故事》。 虽然这本书讲的是架构,但我认为所有的开发人员都应该读。如果满足于顺序编码、走到哪里算哪里;如果不在一开始就基于高内聚、低耦合的目标设计,而是零散的编写业务组件;如果团队内部...
評分最近在总结09年写的东西,刚好看到这本书,思考良多,尤其是第二章《两个系统的故事》。 虽然这本书讲的是架构,但我认为所有的开发人员都应该读。如果满足于顺序编码、走到哪里算哪里;如果不在一开始就基于高内聚、低耦合的目标设计,而是零散的编写业务组件;如果团队内部...
評分先说说架构之美是本什么类型的书,这本书就如同汇集了各个电视频道充斥的各类股评专家(当然是顶尖级的)的析股法则大全。而什么是成熟的架构师呢?简单来说,就是能够取各家之所长,因地制宜,形成适合自己设计场景的架构设计规律法则。 看了一部分,觉得写得还是比较诚恳的...
評分还没看完,主要看了前几章,据书评说是精华部分,呵呵,感觉还不错。值得一看。 后面的部分也不是那么不堪,虽然缺乏细节,但是很多思路都提到了,需要自己琢磨。 俺接触过的architect大致分两类,一种是supre developer出身的,技术细节很好,但也许缺乏business和industria...
評分构架在最初构想的时候,可以脱离实际,思考出解决问题的最佳途径,但是在实施过程中,必须要考虑细节。比如书中SUN公司的DardStar,单纯从构架角度,不可谓不理想,但是试想一群没做过MMO的人在实验室给MMO设计构架现实吗?其结果就是构架看上去很美,解决了表面上的关键问题,...
架構之美 pdf epub mobi txt 電子書 下載 2024