課程簡介
目標(biāo)收益
通過培訓(xùn)學(xué)員可以掌握面向?qū)ο笤O(shè)計(jì)的核心原則和常用技能,包括測試驅(qū)動(dòng)開發(fā)、重構(gòu)等技術(shù)手段,建立良好的質(zhì)量意識、靈活運(yùn)用面向?qū)ο筇卣?,從而提高新代碼的設(shè)計(jì)質(zhì)量并對既有代碼進(jìn)行逐步改進(jìn)。
培訓(xùn)對象
以C/C++作為開發(fā)語言,希望改進(jìn)軟件設(shè)計(jì)質(zhì)量,從而提升軟件設(shè)計(jì)和代碼的可理解、可維護(hù)、可復(fù)用能力的軟件團(tuán)隊(duì)技術(shù)負(fù)責(zé)人、架構(gòu)師和軟件設(shè)計(jì)人員。
課程大綱
面向?qū)ο笤O(shè)計(jì)基礎(chǔ) |
內(nèi)容一:什么是好的設(shè)計(jì)? 1.從業(yè)務(wù)角度看“好”的設(shè)計(jì) 2.從技術(shù)角度看“好”的設(shè)計(jì) 3.面向?qū)ο蟮脑O(shè)計(jì)原則 4.案例研究 內(nèi)容二:正確運(yùn)用語言特性 1.走出“對象”的誤區(qū) 2.使用多態(tài)降低復(fù)雜性 3.在繼承和委托之間做選擇 |
演進(jìn)式設(shè)計(jì)的技術(shù)手段 |
內(nèi)容三:使用測試驅(qū)動(dòng)開發(fā)與重構(gòu)改進(jìn)軟件設(shè)計(jì) 1.過度設(shè)計(jì)與設(shè)計(jì)不足 2.測試先行與軟件設(shè)計(jì) 3.用重構(gòu)改進(jìn)設(shè)計(jì) 4.重構(gòu)的時(shí)機(jī) 5.測試驅(qū)動(dòng)開發(fā)實(shí)踐 |
實(shí)現(xiàn)高內(nèi)聚的設(shè)計(jì) |
內(nèi)容四:高內(nèi)聚的設(shè)計(jì)手段 1.發(fā)現(xiàn)領(lǐng)域概念 2.職責(zé)分配的原則 3.分離構(gòu)造和使用 4.共性和可變性分析 5.單一職責(zé)原則 6.開放-封閉原則 7.改變破壞封裝的習(xí)慣 |
實(shí)現(xiàn)低耦 合的設(shè)計(jì) |
內(nèi)容五:低耦合的設(shè)計(jì)手段 1.讓接口揭示設(shè)計(jì)意圖 2.避免接口的副作用 3.接口隔離原則 4.依賴倒置原則 5.由外而內(nèi)的軟件設(shè)計(jì) |
模式與框架 |
內(nèi)容六:模式與框架 1.模式的價(jià)值 2.設(shè)計(jì)模式深度解析 3.軟件架構(gòu)模式 |
組織級的設(shè)計(jì)問題 |
內(nèi)容七:讓設(shè)計(jì)原則和方法在組織落地 1.組織級的價(jià)值觀問題 2.構(gòu)建基礎(chǔ)設(shè)施 3.遺留代碼的改進(jìn) 4.軟件設(shè)計(jì)度量 |
面向?qū)ο笤O(shè)計(jì)基礎(chǔ) 內(nèi)容一:什么是好的設(shè)計(jì)? 1.從業(yè)務(wù)角度看“好”的設(shè)計(jì) 2.從技術(shù)角度看“好”的設(shè)計(jì) 3.面向?qū)ο蟮脑O(shè)計(jì)原則 4.案例研究 內(nèi)容二:正確運(yùn)用語言特性 1.走出“對象”的誤區(qū) 2.使用多態(tài)降低復(fù)雜性 3.在繼承和委托之間做選擇 |
演進(jìn)式設(shè)計(jì)的技術(shù)手段 內(nèi)容三:使用測試驅(qū)動(dòng)開發(fā)與重構(gòu)改進(jìn)軟件設(shè)計(jì) 1.過度設(shè)計(jì)與設(shè)計(jì)不足 2.測試先行與軟件設(shè)計(jì) 3.用重構(gòu)改進(jìn)設(shè)計(jì) 4.重構(gòu)的時(shí)機(jī) 5.測試驅(qū)動(dòng)開發(fā)實(shí)踐 |
實(shí)現(xiàn)高內(nèi)聚的設(shè)計(jì) 內(nèi)容四:高內(nèi)聚的設(shè)計(jì)手段 1.發(fā)現(xiàn)領(lǐng)域概念 2.職責(zé)分配的原則 3.分離構(gòu)造和使用 4.共性和可變性分析 5.單一職責(zé)原則 6.開放-封閉原則 7.改變破壞封裝的習(xí)慣 |
實(shí)現(xiàn)低耦 合的設(shè)計(jì) 內(nèi)容五:低耦合的設(shè)計(jì)手段 1.讓接口揭示設(shè)計(jì)意圖 2.避免接口的副作用 3.接口隔離原則 4.依賴倒置原則 5.由外而內(nèi)的軟件設(shè)計(jì) |
模式與框架 內(nèi)容六:模式與框架 1.模式的價(jià)值 2.設(shè)計(jì)模式深度解析 3.軟件架構(gòu)模式 |
組織級的設(shè)計(jì)問題 內(nèi)容七:讓設(shè)計(jì)原則和方法在組織落地 1.組織級的價(jià)值觀問題 2.構(gòu)建基礎(chǔ)設(shè)施 3.遺留代碼的改進(jìn) 4.軟件設(shè)計(jì)度量 |