| | | 面向對像開發參考手冊 | 該商品所屬分類:計算機/網絡 -> 程序設計 | 【市場價】 | 459-665元 | 【優惠價】 | 287-416元 | 【介質】 | book | 【ISBN】 | 9787115333483 | 【折扣說明】 | 一次購物滿999元台幣免運費+贈品 一次購物滿2000元台幣95折+免運費+贈品 一次購物滿3000元台幣92折+免運費+贈品 一次購物滿4000元台幣88折+免運費+贈品
| 【本期贈品】 | ①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
| |
版本 | 正版全新電子版PDF檔 | 您已选择: | 正版全新 | 溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。 *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。 *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。 | | | | 內容介紹 | |
![](https://bnmppic.bookuu.com/goods/11/07/58/2745734-fm.jpg)
-
出版社:人民郵電
-
ISBN:9787115333483
-
作者:黃磊
-
頁數:261
-
出版日期:2014-01-01
-
印刷日期:2014-01-01
-
包裝:平裝
-
開本:16開
-
版次:1
-
印次:1
-
字數:379千字
-
黃磊編著的《面向對像開發參考手冊》並沒有太多的發明創造,而是作者針對自己的學習過程,包括作者給自己公司的技術人員的培訓I過程,對所學的軟件大師們的若干經典著作(包括《敏捷軟件開發》、《設計模式》、《極限編程》、《重構》、《領域驅動設計》、《測試驅動開發》等)進行了引用、歸納、整理、提煉、濃縮,旨在幫助讀者迅速理解面向對像的精髓和深意的同時,又能縮減學習成本,兼之能像工具書一樣供讀者隨時翻閱和參考。本書是來自一線軟件開發企業技術總監的培訓課程精髓,讓你了解真正面向對像設計深層的精義,而非膚淺機械的生搬硬套,本書是眾多大師和經典著作之提煉歸納和濃縮,也是通向面向對像奇妙世界的方向指引。
-
面向對像軟件設計的經典書籍,如《敏捷軟件開
發》、《領域驅動設計》、《設計模式》、《測試驅
動開發》、《極限編程》、《重構》等,已名聲在外
,其解讀書籍也多如牛毛。但其往往隻講述某個方面
,要整體理解,必須通讀原著,閱讀量頗大,特別原
著比較深奧,短時間內很難完全理解。市面上缺乏整
體歸納、提煉濃縮的書籍。
黃磊編著的《面向對像開發參考手冊》致力於讓
讀者形成一個整體、全面的概念和印像,濃縮、提煉
了經典書籍的精華,結合作者自身十幾年的經驗,力
爭呈現一本深入淺出、兼收並蓄、涉及各個方面的綜
合版本,可以縮減學習的時間成本,並能夠像工具書
一樣翻閱參考。
《面向對像開發參考手冊》寫作之初是為了作者
所在公司開發人員培訓用。作者為公司人員進行了
100多課時的培訓,按照培訓內容整理了本書。從這
個角度來說,它特別適合開發人員學習使用,尤其適
於那些剛畢業的“菜鳥”們學習使用。當然,學習是
沒有窮盡的,資深的開發人員,也可以經常翻閱本書
來尋找靈感。
-
第1章 轉變觀念 1 1.1 傳統的面向對像 1 1.2 重新認識對像 4 1.3 如何分解對像? 6 1.4 如何設計對像? 8 1.5 設計對像的接口 9 1.6 改進對像的繼承 12 1.7 設計抽像的繫統 13 1.8 設計美的繫統 13 第2章 經典模式 15 2.1 設計模式的基本原則 18 2.2 抽像工廠模式(Abstract Factory) 18 2.3 抽像服務模式(Abstract Server) 19 2.4 無環訪問者模式(Acyclic Visitor) 20 2.5 適配器模式(Adapter) 21 2.6 橋接模式(Bridge) 22 2.7 生成器模式(Builder) 23 2.8 職責鏈模式(Chain of Responsibility) 24 2.9 命令模式(Command) 25 2.10 組合模式(Composite) 26 2.11 裝飾模式(Decorator) 27 2.12 擴展對像模式(Extension Object) 28 2.13 外觀模式(Fa?ade) 29 2.14 工廠方法模式(Factory Method) 29 2.15 享元模式(Flyweight) 30 2.16 解釋器模式(Interpreter) 31 2.17 迭代器模式(Iterator) 32 2.18 中介者模式(Mediator) 33 2.19 備忘錄模式(Memento) 34 2.20 空對像模式(Null Object) 35 2.21 觀察者模式(Observer) 36 2.22 原型模式(Prototype) 37 2.23 代理模式(Proxy) 38 2.24 數量模式(Quantity) 39 2.25 範圍模式(Range) 40 2.26 單件模式(Singleton) 41 2.27 規格模式(Specification) 41 2.28 狀態模式(State) 42 2.29 策略模式(Strategy) 43 2.30 模板方法模式(Template Method) 44 2.31 訪問者模式(Visitor) 45 2.32 設計模式應用的綜合例子 47 第3章 敏捷軟件 51 3.1 基本原則 52 3.1.1 對像設計原則 53 3.1.2 包的設計原則 56 3.2 敏捷建模 59 3.2.1 關於建模的一些認識誤區 60 3.2.2 敏捷建模的原則和實踐 60 3.3 按意圖編程 61 3.3.1 名字:選擇語義清晰的名字 62 3.3.2 簡單:做*簡單但又能工作的事情 62 3.3.3 假設:做有根據的假設 62 3.3.4 注釋:“不要注釋” 63 3.4 軟件的度量 63 3.4.1 對像的度量 63 3.4.2 包的度量 64 3.4.3 測試的度量 65 3.5 延伸閱讀:源代碼就是設計 66 第4章 測試驅動 75 4.1 什麼是TDD 75 4.1.1 測試原則:盡早、經常、自動化 76 4.1.2 驗收測試 78 4.1.3 模擬對像 78 4.2 測試技巧 79 4.2.1 測試之前的思想準備 79 4.2.2 測試之間的關繫——相互獨立的測試 80 4.2.3 什麼時候寫測試 80 4.2.4 如何開始寫測試——斷言優先 80 4.2.5 如何選擇測試數據——顯然數據 81 4.2.6 測試如何組織——測試列表 81 4.2.7 測試哪些東西 82 4.2.8 簡單的測試 84 4.2.9 易讀的測試 84 4.2.10 可維護的測試 84 4.2.11 可運行的測試 85 4.2.12 可調試的測試 86 4.2.13 測試的初始化 86 4.2.14 使用斷言的消息參數 87 4.2.15 使用代碼覆蓋率工具 87 4.2.16 測試代碼也要不斷重構 87 4.3 開發工具的測試框架 88 第5章 重構方法 91 5.1 軟件的味道 92 5.1.1 重復代碼 93 5.1.2 過長方法 94 5.1.3 過大類 94 5.1.4 過長參數列表 95 5.1.5 發散變化 96 5.1.6 霰彈式手術 96 5.1.7 依戀情結(交往不當) 96 5.1.8 數據泥團 97 5.1.9 基本類型偏執 97 5.1.10 switch語句 98 5.1.11 平行繼承體繫 99 5.1.12 冗贅類 99 5.1.13 誇誇其談的未來性 100 5.1.14 令人迷惑的臨時字段 100 5.1.15 過度耦合的消息鏈 101 5.1.16 中間轉手人 101 5.1.17 狎昵關繫 102 5.1.18 異曲同工的類 102 5.1.19 不完善的程序庫類 102 5.1.20 數據類 103 5.1.21 被拒*的遺贈 103 5.1.22 不當注釋 104 5.1.23 過於復雜的條件邏輯 105 5.1.24 不恰當的暴露 105 5.1.25 解決方案蔓延 105 5.1.26 組合** 106 5.1.27 怪異的解決方案 106 5.2 如何開始重構 106 5.2.1 什麼時候重構 106 5.2.2 什麼時候不能重構 107 5.2.3 怎樣開始重構——掌握好重構的節奏 107 5.3 重構方法索引 108 5.4 重新組織方法 111 5.4.1 提煉方法 111 5.4.2 內聯方法 112 5.4.3 內聯臨時變量 112 5.4.4 引入解釋變量 113 5.4.5 移除對參數的賦值 113 5.4.6 用方法對像替代方法 114 5.4.7 用查詢替代臨時變量 114 5.4.8 分解臨時變量 115 5.4.9 替換算法 115 5.5 在對像間遷移特性 116 5.5.1 提煉類 116 5.5.2 隱藏委托 116 5.5.3 內聯類 117 5.5.4 引入外加方法 117 5.5.5 引入本地擴展 118 5.5.6 遷移字段 118 5.5.7 遷移方法 119 5.5.8 移除中間人 120 5.6 重新組織數據 120 5.6.1 雙向關聯改為單向關聯 120 5.6.2 引用對像改為值對像 121 5.6.3 單向關聯改為雙向關聯 122 5.6.4 值對像改為引用對像 122 5.6.5 復制被觀察的數據 123 5.6.6 封裝集合 123 5.6.7 封裝字段 124 5.6.8 用對像替代數組 124 5.6.9 用對像替代數據值 125 5.6.10 用符號常數替代魔幻數字 126 5.6.11 用數據類替代記錄 126 5.6.12 用字段替代子類 126 5.6.13 用類替代類型碼 127 5.6.14 用狀態/策略模式替代類型碼 128 5.6.15 用子類替代類型碼 128 5.6.16 自封裝字段 129 5.7 簡化條件表達式 130 5.7.1 合並條件表達式 130 5.7.2 合並重復的條件片斷 131 5.7.3 分解條件式 131 5.7.4 引入斷言 131 5.7.5 引入空對像 132 5.7.6 移除控制標志 133 5.7.7 用命令模式替代條件調度 133 5.7.8 用策略模式替代條件邏輯 134 5.7.9 用多態替代條件式 135 5.7.10 用衛述語句替代嵌套條件式 135 5.7.11 用狀態模式替代狀態改變條件式 136 5.8 簡化方法調用 137 5.8.1 增加參數 138 5.8.2 構造函數鏈 138 5.8.3 組合方法 139 5.8.4 封裝向下轉型 139 5.8.5 隱藏方法 140 5.8.6 引入參數對像 140 5.8.7 把聚集操作遷移到收集參數 141 5.8.8 把聚集操作遷移到訪問者模式 141 5.8.9 把裝飾功能遷移到裝飾者模式 143 5.8.10 參數化方法 144 5.8.11 保持對像完整 145 5.8.12 移除參數 145 5.8.13 移除設置方法 146 5.8.14 重命名方法 146 5.8.15 用工廠方法替代構造函數 146 5.8.16 用異常替代錯誤碼 147 5.8.17 用測試替代異常 147 5.8.18 用組合模式替代隱含樹 148 5.8.19 用明確方法替代參數 149 5.8.20 用方法替代參數 149 5.8.21 分離查詢和修改 150 5.9 處理概括關繫 151 5.9.1 折疊繼承體繫 151 5.9.2 提煉適配器模式 152 5.9.3 提煉組合模式 153 5.9.4 提煉接口 153 5.9.5 提煉子類 154 5.9.6 提煉超類 155 5.9.7 塑造模板方法模式 155 5.9.8 上移構造函數 156 5.9.9 上移字段 157 5.9.10 上移方法 157 5.9.11 下移字段 157 5.9.12 下移方法 158 5.9.13 用繼承替代委托 158 5.9.14 用觀察者模式替代硬編碼通知 159 5.9.15 用解釋器模式替代隱式語言 160 5.9.16 用委托替代繼承 161 5.9.17 用組合模式替代一/多之分 162 5.9.18 統一接口 163 5.9.19 用適配器模式統一接口 163 5.10 封裝對像的創建 164 5.10.1 用工廠封裝類 164 5.10.2 用生成器模式封裝組合模式 165 5.10.3 提煉參數 166 5.10.4 內聯單件模式 166 5.10.5 用工廠方法引入多態創建 167 5.10.6 用單件模式限制實例化 167 5.10.7 把創建知識遷移到工廠 168 5.10.8 用創建方法替代構造函數 169 5.11 大型重構 169 5.11.1 過程化設計轉化為對像設計 170 5.11.2 提煉繼承體繫 170 5.11.3 分離域和表示層 171 5.11.4 梳理分解繼承體繫 172 第6章 領域模型 173 6.1 目標 175 6.1.1 消化知識 176 6.1.2 交流語言 177 6.1.3 模型和代碼綁定 178 6.2 基本構件 179 6.2.1 分離領域 180 6.2.2 關聯 182 6.2.3 實體 183 6.2.4 值對像 183 6.2.5 服務 184 6.2.6 模塊(包) 185 6.2.7 聚合 186 6.2.8 工廠 189 6.2.9 倉儲 191 6.3 深層模型 195 6.4 挖掘隱含概念 196 6.4.1 概念挖掘 196 6.4.2 顯式約束 197 6.4.3 作為領域對像的流程 198 6.4.4 規格模式 199 6.5 柔性設計 204 6.5.1 釋義接口 205 6.5.2 無副作用函數 207 6.5.3 斷言 208 6.5.4 概念輪廓 209 6.5.5 孤立類 210 6.5.6 操作封閉 210 6.5.7 聲明性設計 211 6.6 戰略性設計 214 6.7 限界上下文 215 6.7.1 持續集成 218 6.7.2 上下文映射 219 6.7.3 共享內核 219 6.7.4 客戶/供應商開發團隊 220 6.7.5 同流者 220 6.7.6 防腐層 220 6.7.7 隔離方式 221 6.7.8 開放主機服務 222 6.7.9 公布語言 222 6.8 模型精煉 222 6.8.1 核心領域 223 6.8.2 通用子域 224 6.8.3 領域願景聲明 225 6.8.4 突出核心 225 6.8.5 內聚機制 226 6.8.6 隔離核心 227 6.8.7 抽像核心 227 6.9 大比例結構 228 6.9.1 漸進順序 230 6.9.2 繫統隱喻 230 6.9.3 職責層 231 6.9.4 知識級別 232 6.9.5 插件框架 235 第7章 敏捷過程 237 7.1 敏捷宣言 237 7.2 敏捷過程的原則 238 7.3 典型的敏捷過程 240 7.3.1 計劃 240 7.3.2 測試 241 7.3.3 重構 244 7.4 敏捷實踐 245 7.4.1 基本實踐 245 7.4.2 擴展實踐 247 第8章 應用實踐 249 8.1 培養敏感性 249 8.2 統一版本(產品化) 250 8.3 從數據模型中心到領域模型中心 251 8.3.1 讓領域對像封裝數據結構 251 8.3.2 O-R映射 252 8.3.3 推遲數據庫和UI的實現 253 8.4 使用通用語言建模 253 8.5 分離接口與實現 254 8.6 區分職責與功能 254 8.7 提煉知識 255 8.8 消除基本類型偏執 256 8.9 合理劃分對像 257 8.10 牢記測試先行 257 寫在*後 259
| | | | | |