出版時(shí)間:2010年4月 出版社:電子工業(yè)出版社 作者:Richard Monson-Haefel 編 頁數(shù):200 譯者:徐定翔,章顯洲
Tag標(biāo)簽:無
前言
97個(gè)水晶切面,折射軟件架構(gòu)師的實(shí)踐智慧 近十?dāng)?shù)年,全球軟件產(chǎn)業(yè)已經(jīng)取得了顯著的進(jìn)步,軟件從業(yè)人員的數(shù)量不斷增加,軟件項(xiàng)目的規(guī)模和復(fù)雜度不斷攀升,軟件開發(fā)組織的人員結(jié)構(gòu)也因?qū)I(yè)不斷細(xì)分而日趨復(fù)雜?! ∫蚺d起時(shí)間較晚,發(fā)展的時(shí)間相對還很短,軟件業(yè)從建筑業(yè)和制造業(yè)等其他成熟的工程學(xué)科中借用了許多概念和隱喻?!败浖軜?gòu)”和“軟件架構(gòu)師”,便是借用了建筑設(shè)計(jì)中的概念。從UML(統(tǒng)一建模語言,Unified Modeling Language)和軟件模式(Pattern)相關(guān)的早期著作中,可以清晰地看到這種概念移用。 借用其他行業(yè)的概念會(huì)帶來一些消極影響。比如在早期階段,一些“軟件工程”研究人員和軟件項(xiàng)目管理人員,試圖以建筑業(yè)的項(xiàng)目管理視角和技術(shù)來管理軟件項(xiàng)目,制造出了“瀑布式”軟件開發(fā)過程,給軟件業(yè)帶來了長期的不良影響。但是,經(jīng)過實(shí)踐驗(yàn)證,“軟件架構(gòu)”確實(shí)推動(dòng)了軟件開發(fā)技術(shù)的發(fā)展,為業(yè)界廣為采納并日益受到重視?! ‖F(xiàn)如今,“軟件架構(gòu)師”已成為許多軟件開發(fā)組織職位模型(Job Model)中的標(biāo)準(zhǔn)設(shè)置?!败浖軜?gòu)師”也已成為眾多軟件開發(fā)人員夢寐以求的職業(yè)巔峰目標(biāo)之一?! I(yè)界許多大師和專家總結(jié)分享了他們在軟件架構(gòu)設(shè)計(jì)方面的技術(shù)和經(jīng)驗(yàn)。在軟件技術(shù)書籍市場上,已經(jīng)可以找到許多與“軟件架構(gòu)”主題相關(guān)的書籍?! 〔贿^,現(xiàn)有的軟件架構(gòu)書籍從技術(shù)視角進(jìn)行總結(jié)闡述的居多,如已有5卷本行世的《基于模式的軟件架構(gòu) (Pattern-Oriented Software Architecture,POSA) 》,主要闡述的是軟件架構(gòu)的風(fēng)格、解決特定問題或特定領(lǐng)域的軟件架構(gòu)設(shè)計(jì)技術(shù)與模式等。這些書籍當(dāng)然都非常有益,甚至,可以說成為了軟件架構(gòu)師的必讀書目?! 〉?,即使已經(jīng)將這些軟件架構(gòu)設(shè)計(jì)的技術(shù)、模式爛熟于胸,可能還無法保證你能夠成為優(yōu)秀的軟件架構(gòu)師?! 楹螘?huì)這樣? 正如《建筑十書》的作者、古羅馬著名建筑師維特魯威所說:“理想的建筑師應(yīng)該既是文學(xué)家又是數(shù)學(xué)家,他還應(yīng)通曉歷史,熱衷于哲學(xué)研究,精通音樂,懂得醫(yī)藥知識(shí),具有法學(xué)造詣,深諳天文學(xué)及天文計(jì)算?!薄 ?yōu)秀的軟件架構(gòu)師,必須多才多藝、成熟練達(dá)、經(jīng)驗(yàn)豐富,具備極強(qiáng)的洞察力,能夠領(lǐng)導(dǎo)和提升軟件開發(fā)團(tuán)隊(duì),去構(gòu)建整齊有序、均衡合理、可持續(xù)發(fā)展演化的虛擬數(shù)字世界中的偉大建筑——優(yōu)秀杰出的軟件產(chǎn)品。 本書提供了分享軟件架構(gòu)知識(shí)的新方式,拓寬了闡述軟件架構(gòu)藝術(shù)的視角,總結(jié)了50多位經(jīng)驗(yàn)豐富的軟件架構(gòu)師的實(shí)踐經(jīng)驗(yàn),范圍覆蓋了軟件架構(gòu)師的職業(yè)操守、技術(shù)技能、思維模式、領(lǐng)導(dǎo)力、和客戶的溝通交流、權(quán)衡利弊的平衡感等主題?! ∪珪?7篇格言式散文構(gòu)成,沒有高調(diào)的說教,沒有抽象的術(shù)語,而是以平實(shí)、幽默、智慧的筆觸,將他們認(rèn)為對成為優(yōu)秀軟件架構(gòu)師而言至為重要的精髓和盤托出。全書猶如一塊玲瓏剔透的水晶,97個(gè)切面折射出來的都是出自一線軟件架構(gòu)師的專業(yè)智慧?! ”緯?~49篇由徐定翔翻譯,第50~97篇由章顯洲翻譯。我們在翻譯的過程中得到了許多人的幫助。余晟認(rèn)真審校了全書的譯稿,細(xì)致地指出了我們翻譯不當(dāng)之處;鄭兆昭老師對書稿的潤色讓我們受益匪淺;統(tǒng)稿編輯白愛萍一次又一次容忍了我們修改定稿的要求。最后要感謝家人給予我們的寬容和支持,使我們能夠安心埋首于書稿中。
內(nèi)容概要
優(yōu)秀的軟件架構(gòu)師應(yīng)該同時(shí)掌握業(yè)務(wù)知識(shí)和技術(shù)能力,做到這一點(diǎn)絕非易事,《軟件架構(gòu)師應(yīng)該知道的97件事》想要探討的就是這個(gè)主題。這是一本真正的開源圖書,我們邀請到50多位杰出的軟件架構(gòu)師參與寫作。大家無償?shù)胤窒砹烁髯缘墓ぷ鹘?jīng)驗(yàn)和心得,內(nèi)容從規(guī)避風(fēng)險(xiǎn)的方法到組建團(tuán)隊(duì)的技巧,涵蓋了架構(gòu)設(shè)計(jì)的方方面面。衷心希望這97篇文章能激發(fā)您的思考,解決您工作中的困惑。
作者簡介
理查德·蒙森-哈斐爾,是獨(dú)立軟件開發(fā)者,曾參加編寫《Enterprise JavaBeans》和《Java Message Service》(均由OReilly公司出版)。他是企業(yè)計(jì)算方面的專家,同時(shí)擅長設(shè)計(jì)和開發(fā)多點(diǎn)觸控應(yīng)用程序。
書籍目錄
前言客戶需求重于個(gè)人簡歷簡化根本復(fù)雜性,消除偶發(fā)復(fù)雜性關(guān)鍵問題可能不是出在技術(shù)上以溝通為中心,堅(jiān)持簡明清晰的表達(dá)方式和開明的領(lǐng)導(dǎo)風(fēng)格架構(gòu)決定性能分析客戶需求背后的意義起立發(fā)言故障終究會(huì)發(fā)生我們常常忽略了自己在談判量化需求一行代碼比五百行架構(gòu)說明更有價(jià)值不存在放之四海皆準(zhǔn)的解決方案提前關(guān)注性能問題架構(gòu)設(shè)計(jì)要平衡兼顧多方需求草率提交任務(wù)是不負(fù)責(zé)任的行為不要在一棵樹上吊死業(yè)務(wù)目標(biāo)至上先確保解決方案簡單可用,再考慮通用性和復(fù)用性架構(gòu)師應(yīng)該親力親為持續(xù)集成避免進(jìn)度調(diào)整失誤取舍的藝術(shù)打造數(shù)據(jù)庫堡壘重視不確定性不要輕易放過不起眼的問題讓大家學(xué)會(huì)復(fù)用架構(gòu)里沒有大寫的“I”使用“一千英尺高”的視圖先嘗試后決策掌握業(yè)務(wù)領(lǐng)域知識(shí)程序設(shè)計(jì)是一種設(shè)計(jì)讓開發(fā)人員自己做主時(shí)間改變一切設(shè)立軟件架構(gòu)專業(yè)為時(shí)尚早控制項(xiàng)目規(guī)模架構(gòu)師不是演員,是管家軟件架構(gòu)的道德責(zé)任摩天大廈不可伸縮混合開發(fā)的時(shí)代已經(jīng)來臨性能至上留意架構(gòu)圖里的空白區(qū)域?qū)W習(xí)軟件專業(yè)的行話具體情境決定一切侏儒、精靈、巫師和國王向建筑師學(xué)習(xí)避免重復(fù)歡迎來到現(xiàn)實(shí)世界仔細(xì)觀察,別試圖控制一切架構(gòu)師好比兩面神架構(gòu)師當(dāng)聚焦于邊界和接口助力開發(fā)團(tuán)隊(duì)記錄決策理由挑戰(zhàn)假設(shè)尤其是你自己的分享知識(shí)和經(jīng)驗(yàn)?zāi)J讲〔灰獮E用架構(gòu)隱喻關(guān)注應(yīng)用程序的支持和維護(hù)有舍才有得先考慮原則、公理和類比再考慮個(gè)人意見和口味從“可行走骨架”開始開發(fā)應(yīng)用數(shù)據(jù)是核心確保簡單問題有簡單的解架構(gòu)師首先是開發(fā)人員根據(jù)投資回報(bào)率(ROI)進(jìn)行決策一切軟件系統(tǒng)都是遺留系統(tǒng)起碼要有兩個(gè)可選的解決方案理解變化的影響你不能不了解硬件現(xiàn)在走捷徑,將來付利息不要追求“完美”,“足夠好”就行小心“好主意”內(nèi)容為王對商業(yè)方,架構(gòu)師要避免憤世嫉俗拉伸關(guān)鍵維度,發(fā)現(xiàn)設(shè)計(jì)中的不足架構(gòu)師要以自己的編程能力為依托命名要恰如其分穩(wěn)定的問題才能產(chǎn)生高質(zhì)量的解決方案天道酬勤對決策負(fù)責(zé)棄聰明,求質(zhì)樸精心選擇有效技術(shù),絕不輕易拋棄客戶的客戶才是你的客戶!事物發(fā)展總會(huì)出人意料選擇彼此間可協(xié)調(diào)工作的框架著重強(qiáng)調(diào)項(xiàng)目的商業(yè)價(jià)值不僅僅只控制代碼,也要控制數(shù)據(jù)償還技術(shù)債務(wù)不要急于求解打造上手(Zuhanden)的系統(tǒng)找到并留住富有激情的問題解決者軟件并非真實(shí)的存在學(xué)習(xí)新語言沒有永不過時(shí)的解決方案用戶接受度問題清湯的重要啟示對最終用戶而言,界面就是系統(tǒng)優(yōu)秀軟件不是構(gòu)建出來的,而是培育起來的索引
章節(jié)摘錄
客戶需求重于個(gè)人簡歷 作為工程師,我們常常要向客戶推薦技術(shù)、手段,甚至方法論來解決問題。但有時(shí)我們心里不是想尋求解決問題的最佳方案,而是希望借此豐富自己的簡歷。這樣做很可能得不償失。 積累一批滿意的客戶,選擇切合實(shí)際的技術(shù)解決他們的難題,讓他們樂于推薦你,才是最好的履歷。信譽(yù)遠(yuǎn)勝過時(shí)髦的編程技巧和流行的范式。掌握最新的技術(shù)趨勢,與時(shí)俱進(jìn)固然重要,但不能讓客戶為此買單。作為架構(gòu)師,職業(yè)操守絕不能忘。公司托付重任給你,是期望你恪盡職守,不受利益誘惑。如果你覺得項(xiàng)目不夠尖端,挑戰(zhàn)性不足,無法滿足職業(yè)發(fā)展的需要,大可另?xiàng)咧?,另謀高就?! ∪f一你別無選擇,必須參與這樣的項(xiàng)目,不要為簡歷所累。忍痛割愛放棄時(shí)髦光鮮的方案確實(shí)不容易(哪怕它們并不適合當(dāng)前的項(xiàng)目),但只有腳踏實(shí)地替客戶著想,最后才能皆大歡喜?! ∵x擇正確的解決方案可以降低項(xiàng)目的壓力,團(tuán)隊(duì)工作起來更開心,客戶也更滿意。你會(huì)有更充裕的時(shí)間,既可以鉆研現(xiàn)有技術(shù),也可以利用空閑時(shí)間學(xué)習(xí)新知識(shí),甚至重拾向往已久的業(yè)余愛好。家人察覺你的變化后,也會(huì)感到欣慰。 把客戶的長遠(yuǎn)需求擺在自己的短期利益之上,才能立于不敗之地。
編輯推薦
《軟件架構(gòu)師應(yīng)該知道的97件事》是本與眾不同的技術(shù)圖書。五十多位作者中不乏像尼爾·福特(Neal Ford)、邁克爾·尼加德(Michael Nygard)、比爾·德·霍拉(Bill de h6ra)這樣杰出的軟件架構(gòu)師,大家分享了多年積累的開發(fā)經(jīng)驗(yàn)和工作準(zhǔn)則.內(nèi)容不限于單純的技術(shù)范疇.還涉及如何與各方溝通、如何降低項(xiàng)目的復(fù)雜度、怎樣強(qiáng)化開發(fā)團(tuán)隊(duì)等。有代表性的 主題包括: 客戶需求重于個(gè)人簡歷 尼廷·博萬卡(NitiN Borwa Borlkar)?! £P(guān)鍵問題可能不是出在技術(shù)上一馬克·蘭姆(Mark Ra Ramm)。 以溝通為中心,堅(jiān)持簡明清晰的表達(dá)方式和開明的領(lǐng)導(dǎo)風(fēng)格一一馬克·理查茲(Mark Rictlards)?! ∠却_保解決方案簡單可用,再考慮通用性和復(fù)用性 凱佛林·亨尼(Kevlin Henney)?! ψ罱K用戶而言,界面就是系統(tǒng) 維納亞克·赫格德(Vinayak Hegde)。 提前關(guān)注性能問題一麗貝卡·帕森斯(Rebecca Parsorls)。 成為出色的軟件架構(gòu)師要既掌握業(yè)務(wù)知識(shí)又具備技術(shù)能力。頂尖的軟件架構(gòu)師看重什么7他們?nèi)绾瓮瓿身?xiàng)目7怎樣提高自己的工作水平7推薦您閱讀《軟件架構(gòu)師應(yīng)該知道的97件事》。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
軟件架構(gòu)師應(yīng)該知道的97件事 PDF格式下載