架構(gòu)師
互聯(lián)網(wǎng)
電商
電信
軟件設(shè)計(jì)
推薦課程
average > 0 ? $model->average . '分' : '10.0分' ?>

高質(zhì)量軟件設(shè)計(jì)與設(shè)計(jì)模式

課程費(fèi)用

6800.00 /人

課程時長

3

成為教練

課程簡介

無數(shù)軟件企業(yè)及其研發(fā)團(tuán)隊(duì)都面臨著,大量初級程序開發(fā)人員低質(zhì)量軟件開發(fā)帶來的嚴(yán)重問題,即使那些工作多年的高級程序員也存在著對提高軟件設(shè)計(jì)質(zhì)量認(rèn)識不深的問題。正是由于以上的問題,造成許多公司對運(yùn)行了多年的核心業(yè)務(wù),運(yùn)行維護(hù)成本越來越高,卻不能更換、一直維護(hù)下去的惡性循環(huán)。如何通過培訓(xùn),切實(shí)有效地提高員工設(shè)計(jì)開發(fā)水平,從而有效地改善軟件設(shè)計(jì)質(zhì)量,成為越來越多的軟件企業(yè)迫切需要解決的問題。
本課程不僅在講解高質(zhì)量軟件設(shè)計(jì)的理論知識,更關(guān)鍵是將這些知識投放到各個真實(shí)的設(shè)計(jì)場景中。在這些場景中,我們可以看到我們要面對的設(shè)計(jì)難題,通過對設(shè)計(jì)難題的深入剖析,尋找問題的根源,對癥下藥,從而制訂出正確的設(shè)計(jì)方案。

目標(biāo)收益

本課程不僅在講解高質(zhì)量軟件設(shè)計(jì)的理論知識,更關(guān)鍵是將這些知識投放到各個真實(shí)的設(shè)計(jì)場景中。在這些場景中,我們可以看到我們要面對的設(shè)計(jì)難題,通過對設(shè)計(jì)難題的深入剖析,尋找問題的根源,對癥下藥,從而制訂出正確的設(shè)計(jì)方案。
不僅如此,本課程的案例選取了許多在需求變更中不斷變化的設(shè)計(jì)過程,從而用慢動作的手法展現(xiàn)了,最初的需求與設(shè)計(jì)是怎樣,第一次變更的設(shè)計(jì),第二層變更的設(shè)計(jì),第三次變更的設(shè)計(jì)……這樣的過程展示了,如何在需求變更的過程中,通過每一次正確的設(shè)計(jì),不讓軟件退化,來保證高質(zhì)量的軟件設(shè)計(jì)。
課程的最后,更加深入地探討軟件退化的原因,及其正確的應(yīng)對策略:兩頂帽子與小步快跑的開發(fā)過程。

培訓(xùn)對象

初中高級工程師、企業(yè)架構(gòu)師、軟件設(shè)計(jì)師、技術(shù)決策/解決方案人員等。

課程大綱

第一部分 高質(zhì)量軟件設(shè)計(jì)

第一章什么是高質(zhì)量的軟件設(shè)計(jì)
情景劇:軟件設(shè)計(jì)焦慮癥
1. 上次的設(shè)計(jì)太糟糕了,痛下決心以后要好好設(shè)計(jì)
2. 再次進(jìn)行軟件設(shè)計(jì)時卻不知道該怎樣設(shè)計(jì)
1) 思考了很多,不知如何下手
2) 需求一變更,重新回到了糟糕的狀態(tài)
探討:如何進(jìn)行高質(zhì)量的軟件設(shè)計(jì)

什么是高質(zhì)量的軟件設(shè)計(jì)
1. 軟件的質(zhì)量保證:內(nèi)部質(zhì)量與外部質(zhì)量
2. 高質(zhì)量軟件設(shè)計(jì)的標(biāo)準(zhǔn):易讀、易于維護(hù)、易于變更
第二章 軟件設(shè)計(jì)原則 易于閱讀:
1. 規(guī)范代碼、編寫注釋與表明動機(jī)
案例:代碼編寫范例與簡便易行的方法
2. 領(lǐng)域驅(qū)動設(shè)計(jì)

易于維護(hù)與變更
1. 互聯(lián)網(wǎng)+帶來的挑戰(zhàn)
1) 系統(tǒng)需要不斷地技術(shù)升級與改造
2) 傳統(tǒng)行業(yè)必須向互聯(lián)網(wǎng)轉(zhuǎn)型
3) 但技術(shù)變革不是換零件那么簡單
4) 剖析應(yīng)對技術(shù)變革的方案
2. 案例講解軟件設(shè)計(jì)原則
1) 低耦合
a. 依賴反轉(zhuǎn)原則(DIP)
案例:購票業(yè)務(wù)類與數(shù)據(jù)訪問類
b. 開放-封閉原則(OCP)
案例:需求變更與可擴(kuò)展點(diǎn)設(shè)計(jì)
案例:Square/Circle的解決方案
c. 里氏替換原則(LSP)
案例:Rectangle/Square的問題
案例:查詢參數(shù)傳遞類的問題
2) 高內(nèi)聚
案例:評審系統(tǒng)的設(shè)計(jì)
a. 單一職責(zé)原則(SRP)
案例:財(cái)務(wù)憑證變更帶來的問題
案例:超級大函數(shù)與大對象的難題
案例:MySQL讀寫分離的改造過程
b. 信息專家模式
c. 不要重復(fù)自己原則(DRY)
典型的代碼重復(fù)案例
探討代碼復(fù)用的難題

探討軟件設(shè)計(jì)模式:
1. 設(shè)計(jì)模式的由來
2. 設(shè)計(jì)模式的發(fā)展
3. 設(shè)計(jì)模式對高質(zhì)量軟件設(shè)計(jì)的作用
第二部分 軟件設(shè)計(jì)模式

第三章 適配器模式
什么是適配器模式
1. 軟件設(shè)計(jì)中外部接口的難題
2. 第三方框架帶來的設(shè)計(jì)難題
3. 適配器模式及其概念

適配器模式的應(yīng)用
1. 適配器模式解決第三方框架帶來的難題
案例:Hibernate適配器的設(shè)計(jì)
2. 適配器模式解決外部接口的設(shè)計(jì)難題
案例:第三方支付接口的設(shè)計(jì)
案例:財(cái)務(wù)數(shù)據(jù)接口的設(shè)計(jì)
第四章 策略模式 什么是策略模式
1. 工資發(fā)放功能遇到的難題
1) 工資發(fā)放功能最初的設(shè)計(jì)及其問題
2) 對問題的分析過程及其新的設(shè)計(jì)思路
2. 策略模式及其概念

策略模式的應(yīng)用
1. 案例:工資發(fā)放功能設(shè)計(jì)改進(jìn)的過程
1) 工資發(fā)放功能的Java實(shí)現(xiàn)
2) 工資發(fā)放功能的C++實(shí)現(xiàn)
2. 案例:數(shù)據(jù)導(dǎo)出功能的設(shè)計(jì)實(shí)現(xiàn)
1) 深入理解開放-封閉原則
2) 數(shù)據(jù)導(dǎo)出功能的變更與改進(jìn)過程
3. 案例:財(cái)務(wù)憑證生成功能的設(shè)計(jì)過程
1) 財(cái)務(wù)憑證生成功能的初始需求與設(shè)計(jì)
2) 財(cái)務(wù)憑證生成功能的擴(kuò)展與分析過程
3) 財(cái)務(wù)憑證生成功能的最終設(shè)計(jì)
4) 深入理解單一職責(zé)原則
5) 學(xué)習(xí)“兩頂帽子”的設(shè)計(jì)方式
練習(xí):財(cái)務(wù)憑證生成功能的設(shè)計(jì)與實(shí)現(xiàn)
第五章 工廠模式 探討軟件設(shè)計(jì)中遇到的難題
1. 依賴反轉(zhuǎn)原則的設(shè)計(jì)難題
2. 開放-封閉原則的設(shè)計(jì)難題
3. 探討工廠模式的本質(zhì)

簡單工廠模式
1. 簡單工廠模式的C++實(shí)現(xiàn)
2. 基于配置的簡單工廠模式
3. 剖析簡單工廠如何實(shí)現(xiàn)依賴反轉(zhuǎn)原則
案例:剖析Spring的beanFactory
4. 解讀工廠模式對設(shè)計(jì)的重大意義
5. 講解如何創(chuàng)建一個工廠
1) 創(chuàng)建工廠的步驟與關(guān)鍵點(diǎn)
2) 利用Spring框架簡化工廠類的設(shè)計(jì)
案例:數(shù)據(jù)導(dǎo)出功能的工廠實(shí)現(xiàn)

工廠方法模式
1. 工廠方法模式的概念
2. 工廠方法模式的應(yīng)用
案例:SAX框架的工廠類設(shè)計(jì)

抽象工廠模式
1. 抽象工廠模式的概念
2. 抽象工廠模式的實(shí)現(xiàn)
案例:標(biāo)簽庫的設(shè)計(jì)改進(jìn)過程
1) 最初的標(biāo)簽庫設(shè)計(jì)
2) 運(yùn)用簡單工廠的標(biāo)簽庫設(shè)計(jì)
3) 運(yùn)用工廠方法的標(biāo)簽庫設(shè)計(jì)
4) 運(yùn)用抽象工廠的標(biāo)簽庫設(shè)計(jì)
5) 最終基于配置的標(biāo)簽庫設(shè)計(jì)
第六章 單例模式 什么是單例模式
1. 設(shè)計(jì)工廠類面臨的問題
2. 單例模式及其概念
3. 如何實(shí)現(xiàn)單例模式

單例模式的應(yīng)用
1. 單例模式帶來的設(shè)計(jì)變革
1) 充血模型vs.貧血模型
2) 探討單例模式與性能問題
2. 單例模式改變了很多軟件的設(shè)計(jì)
第七章 原型模式 什么是原型模式
1. 工廠類在提供產(chǎn)品時遇到的設(shè)計(jì)問題
2. 原型模式及其概念

原型模式的設(shè)計(jì)實(shí)現(xiàn)
案例:函數(shù)調(diào)用的無副作用問題
案例:JavsScript中的原型模式
第八章 模板方法模式 什么是模板方法模式
1. 煮咖啡給我們的啟示
2. 設(shè)計(jì)工廠類的新思路
3. 模板方法模式及其概念

模板方法模式的作用與技巧
案例:一個工廠模板的設(shè)計(jì)與實(shí)現(xiàn)
深入理解不要重復(fù)自己原則
1. 重復(fù)代碼帶來的嚴(yán)重后果
2. 散彈式修改及其解決思路
3. 探討實(shí)現(xiàn)代碼復(fù)用的難題
4. 代碼復(fù)用在不同場合采用的方法
5. 模板方法模式在代碼復(fù)用中的作用
第九章 裝飾者模式 什么是裝飾者模式
1. 業(yè)務(wù)量增長帶來的多數(shù)據(jù)源問題
2. 運(yùn)用裝飾者模式巧妙解決多數(shù)據(jù)源問題
3. 裝飾者模式及其概念

裝飾者模式的應(yīng)用
案例:多數(shù)據(jù)源的設(shè)計(jì)實(shí)現(xiàn)
1. 多數(shù)據(jù)源問題的分析設(shè)計(jì)過程
2. 多數(shù)據(jù)源的設(shè)計(jì)與實(shí)現(xiàn)
案例:商城收銀系統(tǒng)的設(shè)計(jì)變更過程
1. 商城收銀系統(tǒng)期初的設(shè)計(jì)
2. 混合策略的設(shè)計(jì)與實(shí)現(xiàn)
3. 多層裝飾者的設(shè)計(jì)與實(shí)現(xiàn)
重新理解里氏替換原則
1. 透明的功能擴(kuò)展
2. 里氏替換原則
練習(xí):商場收銀系統(tǒng)的2種設(shè)計(jì)與實(shí)現(xiàn)
第十章 橋接模式 什么是橋接模式
1. 對象繼承的泛濫
2. 橋接模式及其概念

橋接模式的應(yīng)用
案例:員工管理與工資發(fā)放的設(shè)計(jì)
1. 員工管理與工資發(fā)放帶來的繼承泛濫問題
2. 采用橋接模式的設(shè)計(jì)與實(shí)現(xiàn)
案例:查詢支持類的設(shè)計(jì)
1. 查詢支持類遭遇的繼承泛濫問題
2. 查詢支持類的解決方案
3. 單例模式下查詢支持類的設(shè)計(jì)
深入體會單一職責(zé)原則
第十一章 享元模式 什么是享元模式
1. Hibernate是怎樣訪問數(shù)據(jù)的
2. 享元模式及其概念

享元模式的應(yīng)用
案例:數(shù)據(jù)緩存的設(shè)計(jì)實(shí)現(xiàn)
案例:享元模式在大數(shù)據(jù)中的應(yīng)用
第十二章 其它設(shè)計(jì)模式 觀察者模式:JobHunter的情景劇
代理模式:老板與秘書的差異
命令模式:像工作流一樣處理業(yè)務(wù)
外觀模式:超級家庭影院的煩惱
構(gòu)建器模式:SQL Builder的設(shè)計(jì)
組合模式:如何構(gòu)建一棵樹
中介者模式:QQ在溝通中的作用
迭代器模式:如何順序訪問一個集合
第三部分 基于模式的重構(gòu)

第十三章 小步快跑的開發(fā)模式
關(guān)于設(shè)計(jì)模式的思考
1. 開發(fā)新項(xiàng)目敢于運(yùn)用設(shè)計(jì)模式設(shè)計(jì)
2. 維護(hù)老項(xiàng)目不敢運(yùn)用設(shè)計(jì)模式設(shè)計(jì)

問題的分析與思考
1. 對傳統(tǒng)軟件開發(fā)模式過程的梳理
2. 傳統(tǒng)軟件開發(fā)模式的風(fēng)險與問題

什么是小步快跑
1. 小步快跑開發(fā)模式的步驟與特點(diǎn)
2. 小步快跑開發(fā)模式的應(yīng)用
案例:數(shù)據(jù)推送程序的開發(fā)過程
總結(jié):小步快跑如何能解決問題
第十四章 如何防止軟件退化 軟件如何會退化
1. 軟件工業(yè)時代的特點(diǎn)
2. 軟件工業(yè)時代的軟件研發(fā)問題
案例:演示一個遺留系統(tǒng)的退化過程
1) 軟件最初的設(shè)計(jì)
2) 軟件不斷變更與退化過程
結(jié)論:重構(gòu)是軟件發(fā)展的必然

軟件重構(gòu)的正確方法
1. 軟件重構(gòu)面臨的問題
2. 軟件重構(gòu)的原則與思路
3. 軟件重構(gòu)的正確步驟
案例:演示一個遺留系統(tǒng)的重構(gòu)過程
1) 運(yùn)用“抽取方法”解決大函數(shù)問題
2) 運(yùn)用“抽取類”解決大對象問題
3) 運(yùn)用“抽取父類”提高代碼復(fù)用
4) 運(yùn)用“兩頂帽子”解決新功能的擴(kuò)展
5) 運(yùn)用設(shè)計(jì)模式降低代碼耦合
6) 建立合理的分層結(jié)構(gòu)
7) 運(yùn)用“領(lǐng)域驅(qū)動設(shè)計(jì)”擁抱變化
4. 評估軟件重構(gòu)的效果
第一部分 高質(zhì)量軟件設(shè)計(jì)

第一章什么是高質(zhì)量的軟件設(shè)計(jì)
情景?。很浖O(shè)計(jì)焦慮癥
1. 上次的設(shè)計(jì)太糟糕了,痛下決心以后要好好設(shè)計(jì)
2. 再次進(jìn)行軟件設(shè)計(jì)時卻不知道該怎樣設(shè)計(jì)
1) 思考了很多,不知如何下手
2) 需求一變更,重新回到了糟糕的狀態(tài)
探討:如何進(jìn)行高質(zhì)量的軟件設(shè)計(jì)

什么是高質(zhì)量的軟件設(shè)計(jì)
1. 軟件的質(zhì)量保證:內(nèi)部質(zhì)量與外部質(zhì)量
2. 高質(zhì)量軟件設(shè)計(jì)的標(biāo)準(zhǔn):易讀、易于維護(hù)、易于變更
第二章 軟件設(shè)計(jì)原則
易于閱讀:
1. 規(guī)范代碼、編寫注釋與表明動機(jī)
案例:代碼編寫范例與簡便易行的方法
2. 領(lǐng)域驅(qū)動設(shè)計(jì)

易于維護(hù)與變更
1. 互聯(lián)網(wǎng)+帶來的挑戰(zhàn)
1) 系統(tǒng)需要不斷地技術(shù)升級與改造
2) 傳統(tǒng)行業(yè)必須向互聯(lián)網(wǎng)轉(zhuǎn)型
3) 但技術(shù)變革不是換零件那么簡單
4) 剖析應(yīng)對技術(shù)變革的方案
2. 案例講解軟件設(shè)計(jì)原則
1) 低耦合
a. 依賴反轉(zhuǎn)原則(DIP)
案例:購票業(yè)務(wù)類與數(shù)據(jù)訪問類
b. 開放-封閉原則(OCP)
案例:需求變更與可擴(kuò)展點(diǎn)設(shè)計(jì)
案例:Square/Circle的解決方案
c. 里氏替換原則(LSP)
案例:Rectangle/Square的問題
案例:查詢參數(shù)傳遞類的問題
2) 高內(nèi)聚
案例:評審系統(tǒng)的設(shè)計(jì)
a. 單一職責(zé)原則(SRP)
案例:財(cái)務(wù)憑證變更帶來的問題
案例:超級大函數(shù)與大對象的難題
案例:MySQL讀寫分離的改造過程
b. 信息專家模式
c. 不要重復(fù)自己原則(DRY)
典型的代碼重復(fù)案例
探討代碼復(fù)用的難題

探討軟件設(shè)計(jì)模式:
1. 設(shè)計(jì)模式的由來
2. 設(shè)計(jì)模式的發(fā)展
3. 設(shè)計(jì)模式對高質(zhì)量軟件設(shè)計(jì)的作用
第二部分 軟件設(shè)計(jì)模式

第三章 適配器模式
什么是適配器模式
1. 軟件設(shè)計(jì)中外部接口的難題
2. 第三方框架帶來的設(shè)計(jì)難題
3. 適配器模式及其概念

適配器模式的應(yīng)用
1. 適配器模式解決第三方框架帶來的難題
案例:Hibernate適配器的設(shè)計(jì)
2. 適配器模式解決外部接口的設(shè)計(jì)難題
案例:第三方支付接口的設(shè)計(jì)
案例:財(cái)務(wù)數(shù)據(jù)接口的設(shè)計(jì)
第四章 策略模式
什么是策略模式
1. 工資發(fā)放功能遇到的難題
1) 工資發(fā)放功能最初的設(shè)計(jì)及其問題
2) 對問題的分析過程及其新的設(shè)計(jì)思路
2. 策略模式及其概念

策略模式的應(yīng)用
1. 案例:工資發(fā)放功能設(shè)計(jì)改進(jìn)的過程
1) 工資發(fā)放功能的Java實(shí)現(xiàn)
2) 工資發(fā)放功能的C++實(shí)現(xiàn)
2. 案例:數(shù)據(jù)導(dǎo)出功能的設(shè)計(jì)實(shí)現(xiàn)
1) 深入理解開放-封閉原則
2) 數(shù)據(jù)導(dǎo)出功能的變更與改進(jìn)過程
3. 案例:財(cái)務(wù)憑證生成功能的設(shè)計(jì)過程
1) 財(cái)務(wù)憑證生成功能的初始需求與設(shè)計(jì)
2) 財(cái)務(wù)憑證生成功能的擴(kuò)展與分析過程
3) 財(cái)務(wù)憑證生成功能的最終設(shè)計(jì)
4) 深入理解單一職責(zé)原則
5) 學(xué)習(xí)“兩頂帽子”的設(shè)計(jì)方式
練習(xí):財(cái)務(wù)憑證生成功能的設(shè)計(jì)與實(shí)現(xiàn)
第五章 工廠模式
探討軟件設(shè)計(jì)中遇到的難題
1. 依賴反轉(zhuǎn)原則的設(shè)計(jì)難題
2. 開放-封閉原則的設(shè)計(jì)難題
3. 探討工廠模式的本質(zhì)

簡單工廠模式
1. 簡單工廠模式的C++實(shí)現(xiàn)
2. 基于配置的簡單工廠模式
3. 剖析簡單工廠如何實(shí)現(xiàn)依賴反轉(zhuǎn)原則
案例:剖析Spring的beanFactory
4. 解讀工廠模式對設(shè)計(jì)的重大意義
5. 講解如何創(chuàng)建一個工廠
1) 創(chuàng)建工廠的步驟與關(guān)鍵點(diǎn)
2) 利用Spring框架簡化工廠類的設(shè)計(jì)
案例:數(shù)據(jù)導(dǎo)出功能的工廠實(shí)現(xiàn)

工廠方法模式
1. 工廠方法模式的概念
2. 工廠方法模式的應(yīng)用
案例:SAX框架的工廠類設(shè)計(jì)

抽象工廠模式
1. 抽象工廠模式的概念
2. 抽象工廠模式的實(shí)現(xiàn)
案例:標(biāo)簽庫的設(shè)計(jì)改進(jìn)過程
1) 最初的標(biāo)簽庫設(shè)計(jì)
2) 運(yùn)用簡單工廠的標(biāo)簽庫設(shè)計(jì)
3) 運(yùn)用工廠方法的標(biāo)簽庫設(shè)計(jì)
4) 運(yùn)用抽象工廠的標(biāo)簽庫設(shè)計(jì)
5) 最終基于配置的標(biāo)簽庫設(shè)計(jì)
第六章 單例模式
什么是單例模式
1. 設(shè)計(jì)工廠類面臨的問題
2. 單例模式及其概念
3. 如何實(shí)現(xiàn)單例模式

單例模式的應(yīng)用
1. 單例模式帶來的設(shè)計(jì)變革
1) 充血模型vs.貧血模型
2) 探討單例模式與性能問題
2. 單例模式改變了很多軟件的設(shè)計(jì)
第七章 原型模式
什么是原型模式
1. 工廠類在提供產(chǎn)品時遇到的設(shè)計(jì)問題
2. 原型模式及其概念

原型模式的設(shè)計(jì)實(shí)現(xiàn)
案例:函數(shù)調(diào)用的無副作用問題
案例:JavsScript中的原型模式
第八章 模板方法模式
什么是模板方法模式
1. 煮咖啡給我們的啟示
2. 設(shè)計(jì)工廠類的新思路
3. 模板方法模式及其概念

模板方法模式的作用與技巧
案例:一個工廠模板的設(shè)計(jì)與實(shí)現(xiàn)
深入理解不要重復(fù)自己原則
1. 重復(fù)代碼帶來的嚴(yán)重后果
2. 散彈式修改及其解決思路
3. 探討實(shí)現(xiàn)代碼復(fù)用的難題
4. 代碼復(fù)用在不同場合采用的方法
5. 模板方法模式在代碼復(fù)用中的作用
第九章 裝飾者模式
什么是裝飾者模式
1. 業(yè)務(wù)量增長帶來的多數(shù)據(jù)源問題
2. 運(yùn)用裝飾者模式巧妙解決多數(shù)據(jù)源問題
3. 裝飾者模式及其概念

裝飾者模式的應(yīng)用
案例:多數(shù)據(jù)源的設(shè)計(jì)實(shí)現(xiàn)
1. 多數(shù)據(jù)源問題的分析設(shè)計(jì)過程
2. 多數(shù)據(jù)源的設(shè)計(jì)與實(shí)現(xiàn)
案例:商城收銀系統(tǒng)的設(shè)計(jì)變更過程
1. 商城收銀系統(tǒng)期初的設(shè)計(jì)
2. 混合策略的設(shè)計(jì)與實(shí)現(xiàn)
3. 多層裝飾者的設(shè)計(jì)與實(shí)現(xiàn)
重新理解里氏替換原則
1. 透明的功能擴(kuò)展
2. 里氏替換原則
練習(xí):商場收銀系統(tǒng)的2種設(shè)計(jì)與實(shí)現(xiàn)
第十章 橋接模式
什么是橋接模式
1. 對象繼承的泛濫
2. 橋接模式及其概念

橋接模式的應(yīng)用
案例:員工管理與工資發(fā)放的設(shè)計(jì)
1. 員工管理與工資發(fā)放帶來的繼承泛濫問題
2. 采用橋接模式的設(shè)計(jì)與實(shí)現(xiàn)
案例:查詢支持類的設(shè)計(jì)
1. 查詢支持類遭遇的繼承泛濫問題
2. 查詢支持類的解決方案
3. 單例模式下查詢支持類的設(shè)計(jì)
深入體會單一職責(zé)原則
第十一章 享元模式
什么是享元模式
1. Hibernate是怎樣訪問數(shù)據(jù)的
2. 享元模式及其概念

享元模式的應(yīng)用
案例:數(shù)據(jù)緩存的設(shè)計(jì)實(shí)現(xiàn)
案例:享元模式在大數(shù)據(jù)中的應(yīng)用
第十二章 其它設(shè)計(jì)模式
觀察者模式:JobHunter的情景劇
代理模式:老板與秘書的差異
命令模式:像工作流一樣處理業(yè)務(wù)
外觀模式:超級家庭影院的煩惱
構(gòu)建器模式:SQL Builder的設(shè)計(jì)
組合模式:如何構(gòu)建一棵樹
中介者模式:QQ在溝通中的作用
迭代器模式:如何順序訪問一個集合
第三部分 基于模式的重構(gòu)

第十三章 小步快跑的開發(fā)模式
關(guān)于設(shè)計(jì)模式的思考
1. 開發(fā)新項(xiàng)目敢于運(yùn)用設(shè)計(jì)模式設(shè)計(jì)
2. 維護(hù)老項(xiàng)目不敢運(yùn)用設(shè)計(jì)模式設(shè)計(jì)

問題的分析與思考
1. 對傳統(tǒng)軟件開發(fā)模式過程的梳理
2. 傳統(tǒng)軟件開發(fā)模式的風(fēng)險與問題

什么是小步快跑
1. 小步快跑開發(fā)模式的步驟與特點(diǎn)
2. 小步快跑開發(fā)模式的應(yīng)用
案例:數(shù)據(jù)推送程序的開發(fā)過程
總結(jié):小步快跑如何能解決問題
第十四章 如何防止軟件退化
軟件如何會退化
1. 軟件工業(yè)時代的特點(diǎn)
2. 軟件工業(yè)時代的軟件研發(fā)問題
案例:演示一個遺留系統(tǒng)的退化過程
1) 軟件最初的設(shè)計(jì)
2) 軟件不斷變更與退化過程
結(jié)論:重構(gòu)是軟件發(fā)展的必然

軟件重構(gòu)的正確方法
1. 軟件重構(gòu)面臨的問題
2. 軟件重構(gòu)的原則與思路
3. 軟件重構(gòu)的正確步驟
案例:演示一個遺留系統(tǒng)的重構(gòu)過程
1) 運(yùn)用“抽取方法”解決大函數(shù)問題
2) 運(yùn)用“抽取類”解決大對象問題
3) 運(yùn)用“抽取父類”提高代碼復(fù)用
4) 運(yùn)用“兩頂帽子”解決新功能的擴(kuò)展
5) 運(yùn)用設(shè)計(jì)模式降低代碼耦合
6) 建立合理的分層結(jié)構(gòu)
7) 運(yùn)用“領(lǐng)域驅(qū)動設(shè)計(jì)”擁抱變化
4. 評估軟件重構(gòu)的效果

課程費(fèi)用

6800.00 /人

課程時長

3

預(yù)約體驗(yàn)票 我要分享

近期公開課推薦

近期公開課推薦

活動詳情

提交需求