版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
思維導圖PPT模板《面向對象開發(fā)參考手冊》最新版讀書筆記,下載可以直接修改對象模式參數(shù)設計方法領域數(shù)據(jù)面向對象工廠第章原則類模型接口知識組合測試語言重構本書關鍵字分析思維導圖01內容提要第2章經典模式第4章測試驅動第1章轉變觀念第3章敏捷軟件第5章重構方法目錄030502040607第6章領域模型第8章應用實踐第7章敏捷過程寫在最后目錄0908010內容摘要面向對象軟件設計的經典書籍,如《敏捷軟件開發(fā)》、《領域驅動設計》、《設計模式》、《測試驅動開發(fā)》、《極限編程》、《重構》等,已名聲在外,其解讀書籍也多如牛毛。但其往往只講述某個方面,要整體理解,必須通讀原著,閱讀量頗大,特別原著比較深奧,短時間內很難完全理解。市面上缺乏整體歸納、提煉濃縮的書籍?!睹嫦驅ο箝_發(fā)參考手冊》致力于讓讀者形成一個整體、全面的概念和印象,濃縮、提煉了經典書籍的精華,結合作者自身十幾年的經驗,力爭呈現(xiàn)一本深入淺出、兼收并蓄、涉及各個方面的綜合版本,可以縮減學習的時間成本,并能夠像工具書一樣翻閱參考?!睹嫦驅ο箝_發(fā)參考手冊》寫作之初是為了作者所在公司開發(fā)人員培訓用。作者為公司人員進行了100多課時的培訓,按照培訓內容整理了本書。從這個角度來說,它特別適合開發(fā)人員學習使用,尤其適于那些剛畢業(yè)的“菜鳥”們學習使用。當然,學習是沒有窮盡的,資深的開發(fā)人員,也可以經常翻閱本書來尋找靈感。內容提要面向對象的精髓在于“封裝”。第1章轉變觀念應該嘗試將問題域分解為責任,然后定義必需的對象來實現(xiàn)這些責任,讓它對自己的行為負責。1.1傳統(tǒng)的面向對象1.2重新認識對象1.3如何分解對象?1.4如何設計對象?第1章轉變觀念1.5設計對象的接口1.6改進對象的繼承1.7設計抽象的系統(tǒng)1.8設計美的系統(tǒng)第1章轉變觀念第2章經典模式學習從來是沒有訣竅的。2.1設計模式的基本原則2.2抽象工廠模式(Abstract...2.3抽象服務模式(Abstract...2.4無環(huán)訪問者模式(Acyclic...2.5適配器模式(Adapter)2.6橋接模式(Bridge)010302040506第2章經典模式2.7生成器模式(Builder)2.8職責鏈模式(ChainofR...2.9命令模式(Command)2.10組合模式(Composite)2.11裝飾模式(Decorator)2.12擴展對象模式(Extensio...010302040506第2章經典模式2.13外觀模式(Fa?ade)2.14工廠方法模式(Factory...2.15享元模式(Flyweight)2.16解釋器模式(Interpret...2.17迭代器模式(Iterator)2.18中介者模式(Mediator)010302040506第2章經典模式第3章敏捷軟件如果一定要說有,那么有三條:第一是重復;第二是重復;第三,還是重復。3.1基本原則3.2敏捷建模3.3按意圖編程3.4軟件的度量3.5延伸閱讀:源代碼就是設計12345第3章敏捷軟件3.1.2包的設計原則3.1.1對象設計原則3.1基本原則3.2.2敏捷建模的原則和實踐3.2.1關于建模的一些認識誤區(qū)3.2敏捷建模3.3.1名字:選擇語義清晰的名字3.3.2簡單:做最簡單但又能工作的事...3.3.3假設:做有根據(jù)的假設3.3.4注釋:“不要注釋”3.3按意圖編程3.4.1對象的度量3.4.3測試的度量3.4.2包的度量3.4軟件的度量第4章測試驅動我們的目的是設計“高內聚、松耦合”的軟件以應對變化。4.1什么是TDD4.3開發(fā)工具的測試框架4.2測試技巧第4章測試驅動4.1.1測試原則:盡早、經常、自動化4.1.3模擬對象4.1.2驗收測試4.1什么是TDD4.2.1測試之前的思想準備4.2.2測試之間的關系——相互獨立的...4.2.3什么時候寫測試4.2.4如何開始寫測試——斷言優(yōu)先4.2.5如何選擇測試數(shù)據(jù)——顯然數(shù)據(jù)4.2.6測試如何組織——測試列表0103020405064.2測試技巧4.2.7測試哪些東西4.2.8簡單的測試4.2.9易讀的測試4.2.10可維護的測試4.2.11可運行的測試4.2.12可調試的測試0103020405064.2測試技巧4.2.13測試的初始化4.2.14使用斷言的消息參數(shù)4.2.15使用代碼覆蓋率工具4.2.16測試代碼也要不斷重構4.2測試技巧第5章重構方法對象是有責任的實體,封裝是隱藏一切,包括數(shù)據(jù)、設計細節(jié)、實現(xiàn)細節(jié)、派生類、實例化規(guī)則等。5.1軟件的味道5.2如何開始重構5.3重構方法索引5.4重新組織方法5.5在對象間遷移特性5.6重新組織數(shù)據(jù)010302040506第5章重構方法5.7簡化條件表達式5.8簡化方法調用5.9處理概括關系5.10封裝對象的創(chuàng)建5.11大型重構12345第5章重構方法5.1.1重復代碼5.1.2過長方法5.1.3過大類5.1.4過長參數(shù)列表5.1.5發(fā)散變化5.1.6霰彈式手術0103020405065.1軟件的味道5.1.7依戀情結(交往不當)5.1.8數(shù)據(jù)泥團5.1.9基本類型偏執(zhí)5.1.10switch語句5.1.11平行繼承體系5.1.12冗贅類0103020405065.1軟件的味道5.1.13夸夸其談的未來性5.1.14令人迷惑的臨時字段5.1.15過度耦合的消息鏈5.1.16中間轉手人5.1.17狎昵關系5.1.18異曲同工的類0103020405065.1軟件的味道5.2.1什么時候重構5.2.3怎樣開始重構——掌握好重構的...5.2.2什么時候不能重構5.2如何開始重構5.4.1提煉方法5.4.2內聯(lián)方法5.4.3內聯(lián)臨時變量5.4.4引入解釋變量5.4.5移除對參數(shù)的賦值5.4.6用方法對象替代方法0103020405065.4重新組織方法5.4.7用查詢替代臨時變量5.4.9替換算法5.4.8分解臨時變量5.4重新組織方法5.5.1提煉類5.5.2隱藏委托5.5.3內聯(lián)類5.5.4引入外加方法5.5在對象間遷移特性5.5.5引入本地擴展5.5.6遷移字段5.5.7遷移方法5.5.8移除中間人5.5在對象間遷移特性5.6.1雙向關聯(lián)改為單向關聯(lián)5.6.2引用對象改為值對象5.6.3單向關聯(lián)改為雙向關聯(lián)5.6.4值對象改為引用對象5.6.5復制被觀察的數(shù)據(jù)5.6.6封裝集合0103020405065.6重新組織數(shù)據(jù)5.6.7封裝字段5.6.8用對象替代數(shù)組5.6.9用對象替代數(shù)據(jù)值5.6.10用符號常數(shù)替代魔幻數(shù)字5.6.11用數(shù)據(jù)類替代記錄5.6.12用字段替代子類0103020405065.6重新組織數(shù)據(jù)5.6.13用類替代類型碼5.6.14用狀態(tài)/策略模式替代類型碼5.6.15用子類替代類型碼5.6.16自封裝字段5.6重新組織數(shù)據(jù)5.7.1合并條件表達式5.7.2合并重復的條件片斷5.7.3分解條件式5.7.4引入斷言5.7.5引入空對象5.7.6移除控制標志0103020405065.7簡化條件表達式5.7.7用命令模式替代條件調度5.7.8用策略模式替代條件邏輯5.7.9用多態(tài)替代條件式5.7.10用衛(wèi)述語句替代嵌套條件式5.7.11用狀態(tài)模式替代狀態(tài)改變條件...123455.7簡化條件表達式5.8.1增加參數(shù)5.8.2構造函數(shù)鏈5.8.3組合方法5.8.4封裝向下轉型5.8.5隱藏方法5.8.6引入?yún)?shù)對象0103020405065.8簡化方法調用5.8.7把聚集操作遷移到收集參數(shù)5.8.8把聚集操作遷移到訪問者模式5.8.9把裝飾功能遷移到裝飾者模式5.8.10參數(shù)化方法5.8.11保持對象完整5.8.12移除參數(shù)0103020405065.8簡化方法調用5.8.13移除設置方法5.8.14重命名方法5.8.15用工廠方法替代構造函數(shù)5.8.16用異常替代錯誤碼5.8.17用測試替代異常5.8.18用組合模式替代隱含樹0103020405065.8簡化方法調用5.9.1折疊繼承體系5.9.2提煉適配器模式5.9.3提煉組合模式5.9.4提煉接口5.9.5提煉子類5.9.6提煉超類0103020405065.9處理概括關系5.9.7塑造模板方法模式5.9.8上移構造函數(shù)5.9.9上移字段5.9.10上移方法5.9.11下移字段5.9.12下移方法0103020405065.9處理概括關系5.9.13用繼承替代委托5.9.14用觀察者模式替代硬編碼通知5.9.15用解釋器模式替代隱式語言5.9.16用委托替代繼承5.9.17用組合模式替代一/多之分5.9.18統(tǒng)一接口0103020405065.9處理概括關系5.10.1用工廠封裝類5.10.2用生成器模式封裝組合模式5.10.3提煉參數(shù)5.10.4內聯(lián)單件模式5.10封裝對象的創(chuàng)建5.10.5用工廠方法引入多態(tài)創(chuàng)建5.10.6用單件模式限制實例化5.10.7把創(chuàng)建知識遷移到工廠5.10.8用創(chuàng)建方法替代構造函數(shù)5.10封裝對象的創(chuàng)建5.11.1過程化設計轉化為對象設計5.11.2提煉繼承體系5.11.3分離域和表示層5.11.4梳理分解繼承體系5.11大型重構第6章領域模型程序的高內聚低耦合易擴展少注釋,整體來講本書理論性很強,適合有數(shù)年代碼經驗者讀。6.1目標6.2基本構件6.3深層模型6.4挖掘隱含概念6.5柔性設計6.6戰(zhàn)略性設計010302040506第6章領域模型6.7限界上下文6.9大比例結構6.8模型精煉第6章領域模型6.1.1消化知識6.1.3模型和代碼綁定6.1.2交流語言6.1目標6.2.1分離領域6.2.2關聯(lián)6.2.3實體6.2.4值對象6.2.5服務6.2.6模塊(包)0103020405066.2基本構件6.2.7聚合6.2.9倉儲6.2.8工廠6.2基本構件6.4.1概念挖掘6.4.2顯式約束6.4.3作為領域對象的流程6.4.4規(guī)格模式6.4挖掘隱含概念6.5.1釋義接口6.5.2無副作用函數(shù)6.5.3斷言6.5.4概念輪廓6.5柔性設計6.5.5孤立類6.5.7聲明性設計6.5.6操作封閉6.5柔性設計6.7.1持續(xù)集成6.7.2上下文映射6.7.3共享內核6.7.4客戶/供應商開發(fā)團隊6.7.5同流者6.7.6防腐層0103020405066.7限界上下文6.7.7隔離方式6.7.9公布語言6.7.8開放主機服務6.7限界上下文6.8.1核心領域6.8.2通用子域6.8.3領域愿景聲明6.8.4突出核心6.8模型精煉6.8.5內聚機制6.8.7抽象核心6.8.6隔離核心6.8模型精煉6.9.1漸進順序6.9.2系統(tǒng)隱喻6.9.3職責層6.9.4知識級別6.9.5插件框架123456.9大比例結構第7章敏捷過程本書基本內容只是對于知識的描述,并沒有通過舉例的方式讓讀者提煉出自己的知識,不利于基礎階段同學的學習。7.1敏捷宣言7.2敏捷過程的原則7.3典型的敏捷過程7.4敏捷實踐第7章敏捷過程7.3.1計劃7.3.3重構7.3.2測試7.3典型的敏捷過程7.4.2擴展實踐7.4.1基本實踐7.4敏捷實踐第8章應用實踐面向對象的思想其實在架構設計中貫穿始終,本書面向對象的設計思想沒有形成閉合架構設計流程實踐,是一種缺憾,更像是我們用PPT演講培訓的詳細描述。8.1培養(yǎng)敏感性8.2統(tǒng)一版本(產
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025各大廣告位合同范文
- 2024年度學生宿舍租賃合同范本及入住管理規(guī)定3篇
- 特殊兒童幼兒園課程設計
- 小數(shù)乘法教學課程設計
- 湘版美術課程設計
- 正定課程設計
- 焊接技術應用課程設計
- 2024年度吸污車租賃與環(huán)保設備租賃服務合同3篇
- 2024年新能源公交車運營管理合同
- 水蒸汽換熱器課程設計
- 大學生預征對象登記表模板
- 《明辨是非》課件
- 重癥監(jiān)護??谱o理質控考核標準
- 2023版設備管理體系標準
- 高標準農田輸配電工程施工方案與技術措施
- 外來人員車輛入廠安全須知
- 小學校本課程-尋覓沉睡的寶船教學課件設計
- 2022-2024學年校方責任保險統(tǒng)保方案
- 食材供應鏈行業(yè)市場分析ppt
- 跟師臨診抄方心得體會
- 靜脈治療護理技術操作標準2023
評論
0/150
提交評論