![](/c49/99/58463153075.jpg)
店鋪:合肥新華書店圖書專營店 出版社:電子工業出版社 ISBN:9787121347962 商品編碼:58463153075 開本:16開
" 商品參數 整潔之道再續新篇 Bob大叔封山之作 熔舉世熱門架構於一爐 揭通用黃金法則以真言 左耳朵耗子|餘晟傾情作序 ![](https://img13.360buyimg.com/imgzone/jfs/t1/71701/6/10875/1045130/5d848be6Ece59c6b2/260ec51339249a96.jpg) ![](https://img13.360buyimg.com/imgzone/jfs/t1/45685/6/11231/480470/5d848be7E083ec3e0/453ee140d401ce52.jpg) 編輯 善用軟件架構的通用法則,即可顯著提升開發者在所有軟件全生命周期內的生產力。如今,傳奇軟件匠師Robert C. Martin(Bob大叔),攜書Clean Code與The Clean Coder所獲巨大成功之威,向我們深刻揭示了這些法則並親授運用之道。 Martin在《架構整潔之道》中遠不隻是在為我們提供選項,他幾乎是在將軟件世界中橫跨半個世紀的各種架構類型的經驗傾囊相授,目的是讓讀者既能閱盡所有架構選型,又可通曉其如何決定成敗。Martin也的確不負厚望,本書中充滿了直接而有效的解決方案,以供讀者應對自己面臨的真正挑戰——那些或終成就或徹底破壞項目的挑戰。 《架構整潔之道》不可不讀,無論讀者是現任的還是將來的軟件架構師、分析師、設計師或軟件項目經理,或是身負將他人設計落地重任的開發人員,這本書都可以讓你們受益匪淺。
內容介紹 《架構整潔之道》是創造“Clean神話”的Bob大叔在架構領域的登峰之作,圍繞“架構整潔”這一重要導向,地剖析其緣起、內涵及應用場景,涵蓋軟件研發完整過程及所有核心架構模式。《架構整潔之道》分為6部分,第1部分綱領性地提出軟件架構設計的目標,描述軟件架構設計的重點與模式;第2~4部分從軟件開發中三個基礎編程範式的定義和特征出發,進一步描述函數、組件、服務設計與實現的定律,以及它們是如何有效構建軟件的整體架構的;第5部分從整潔架構的定義開始,詳細闡述軟件架構設計過程中涉及的方方面面,包括劃分內部組件邊界、應用常見設計模式、避開、降低成本、處理特殊情況等,並以實戰案例將內容有機整合起來;第6部分講述具體實現細節;附錄則透過作者數十年的軟件從業經歷再次印證《架構整潔之道》的觀點。 對於每一位軟件研發從業人員——無論從事的是具體編碼實現、架構設計,還是軟件研發管理,《架構整潔之道》都是不可或缺的。
目錄 第1部分 概述 第1章 設計與架構究竟是什麼 3 目標是什麼 4 案例分析 5 本章小結 11 第2章 兩個價值維度 12 行為價值 13 架構價值 13 哪個價值維度更重要 14 艾森豪威爾矩陣 15 為好的軟件架構而持續鬥爭 16 第2部分 從基礎構件開始:編程範式 第3章 編程範式總覽 21 結構化編程 22 面向對像編程 22 函數式編程 23 僅供思考 23 本章小結 24 第4章 結構化編程 25 可推導性 26 goto是有害的 28 功能性降解拆分 29 形式化證明沒有發生 29 科學來救場 29 測試 30 本章小結 31 第5章 面向對像編程 32 封裝 33 繼承 36 多態 38 本章小結 44 第6章 函數式編程 45 整數平方 46 不可變性與軟件架構 47 可變性的隔離 48 事件溯源 49 本章小結 51 第3部分 設計原則 第7章 SRP:單一職責原則 56 反面案例2:代碼合並 59 解決方案 60 本章小結 61 第8章 OCP:開閉原則 62 思想實驗 63 依賴方向的控制 67 信息隱藏 67 本章小結 67 第9章 LSP:裡氏替換原則 68 繼承的使用指導 69 正方形/長方形問題 70 LSP與軟件架構 70 違反LSP的案例 71 本章小結 73 第10章 ISP:接口隔離原則 74 ISP與編程語言 76 ISP與軟件架構 76 本章小結 77 第11章 DIP:依賴反轉原則 78 穩定的抽像層 79 工廠模式 80 具體實現組件 82 本章小結 82 第4部分 組件構建原則 第12章 組件 84 組件發展史 85 重定位技術 88 鏈接器 88 本章小結 90 第13章 組件聚合 91 復用/發布等同原則 92 共同閉包原則 93 共同復用原則 94 組件聚合張力圖 95 本章小結 97 第14章 組件耦合 98 無依賴環原則 99 自上而下的設計 105 穩定依賴原則 106 穩定抽像原則 112 本章小結 117 第5部分 軟件架構 第15章 什麼是軟件架構 120 開發(Development) 122 部署(Deployment) 123 運行(Operation) 123 維護(Maintenance) 124 保持可選項 124 設備無關性 126 垃圾郵件 128 物理地址尋址 129 本章小結 130 第16章 獨立性 131 用例 132 運行 133 開發 133 部署 134 保留可選項 134 按層解耦 135 用例的解耦 136 解耦的模式 136 開發的獨立性 137 部署的獨立性 137 重復 138 再談解耦模式 139 本章小結 141 第17章 劃分邊界 142 幾個悲傷的故事 143 FitNesse 146 應在何時、何處畫這些線 148 輸入和輸出怎麼辦 151 插件式架構 152 插件式架構的好處 153 本章小結 154 第18章 邊界剖析 155 跨邊界調用 156 令人生畏的單體結構 156 部署層次的組件 158 線程 159 本地進程 159 服務 160 本章小結 161 第19章 策略與層次 162 層次(Level) 163 本章小結 166 第20章 業務邏輯 167 業務實體 168 用例 169 請求和響應模型 171 本章小結 172 第21章 尖叫的軟件架構 173 架構設計的主題 174 架構設計的核心目標 175 那Web呢 175 框架是工具而不是生活信條 175 可測試的架構設計 176 本章小結 176 第22章 整潔架構 177 依賴關繫規則 179 一個常見的應用場景 183 本章小結 184 第23章 展示器和謙卑對像 185 謙卑對像模式 186 展示器與視圖 186 測試與架構 187 數據庫網關 188 數據映射器 188 服務器 189 本章小結 189 第24章 不完全邊界 190 省掉後一步 191 單向邊界 192 門戶模式 193 本章小結 193 第25章 層次與邊界 194 基於文本的冒險遊戲:Hunt The Wumpus 195 可否采用整潔架構 196 交彙數據流 199 數據流的分割 199 本章小結 201 第26章 Main組件 203 細節化的部分 204 本章小結 208 第27章 服務:宏觀與微觀 209 面向服務的架構 210 服務所帶來的好處 210 運送貓咪的難題 212 對像化是救星 213 基於組件的服務 215 橫跨型變更 216 本章小結 216 第28章 測試邊界 217 測試也是一種組件 218 可測試性設計 219 測試 API 220 本章小結 221 第29章 整潔的嵌入式架構 222 “程序適用測試”測試 225 目標硬件瓶頸 228 本章小結 238 第6部分 實現細節 第30章 數據庫隻是實現細節 240 關繫型數據庫 241 為什麼數據庫如此流行 242 假設磁盤不存在會怎樣 243 實現細節 243 但性能怎麼辦呢 244 一段軼事 244 本章小結 246 第31章 Web是實現細節 247 無盡的鐘擺 248 總結一下 250 本章小結 251 第32章 應用程序框架是實現細節 252 框架作者 253 單向婚姻 253 254 解決方案 255 不得不接受的依賴 255 本章小結 256 第33章 案例分析:視頻銷售網站 257 產品 258 用例分析 258 組件架構 260 依賴關繫管理 261 本章小結 262 第34章 拾遺 263 按層封裝 264 按功能封裝 266 端口和適配器 268 按組件封裝 270 具體實現細節中的陷阱 274 組織形式與封裝的區別 275 其他的解耦合模式 277 本章小結:本書拾遺 279 後序 280 附錄A 架構設計考古 283
作者介紹 Robert C. Martin,Object Mentor公司總裁,面向對像設計、模式、UML、敏捷方法學和極限編程領域的顧問。他是Designing Object-Oriented C++ Applications Using the Booch Method 以及 Jolt 獲獎圖書 Agile Software Development, Principles,Palterns,and Practices(中譯版《敏捷軟件開發:原則、模式與實踐》)《代碼整潔之道》等書作者。 譯者簡介 孫宇聰:曾在谷歌工作多年,任谷歌SRE(Senior Site Reliblity Engineer),前Coding.net 技術負責人。
^_^:a963aca59c5cfd0499244f5fabe57502 ^_^:de9d4c04632da844d9c7f337569276bc
" |