架構(gòu)師
其他
架構(gòu)設(shè)計(jì)
軟件設(shè)計(jì)
面向?qū)ο?/div>
推薦課程
average > 0 ? $model->average . '分' : '10.0分' ?>

C++代碼整潔之道—編寫高質(zhì)量的代碼

K. Kang

特聘講師

18年IT研發(fā)經(jīng)驗(yàn)。先后在北大方正技術(shù)研究院、方正電子、方正國(guó)際、明博教育科技股份有限公司工作,任程序員、高級(jí)系統(tǒng)分析員、系統(tǒng)架構(gòu)師、研發(fā)部部門經(jīng)理、研發(fā)中心總監(jiān)等職;擁有20余項(xiàng)國(guó)家發(fā)明專利。



9年培訓(xùn)經(jīng)驗(yàn),從事企業(yè)IT軟件設(shè)計(jì)培訓(xùn)及咨詢,曾任方正電子內(nèi)部高級(jí)講師、信產(chǎn)部計(jì)算機(jī)技術(shù)培訓(xùn)中心高級(jí)技術(shù)顧問。
康老師對(duì)軟件設(shè)計(jì)中的理論結(jié)合實(shí)際、折中有深刻的體會(huì)和經(jīng)驗(yàn)。以案例豐富,從實(shí)際項(xiàng)目出發(fā),來源于實(shí)踐而著稱,擅長(zhǎng)用直白的語(yǔ)言說明復(fù)雜的原理。

18年IT研發(fā)經(jīng)驗(yàn)。先后在北大方正技術(shù)研究院、方正電子、方正國(guó)際、明博教育科技股份有限公司工作,任程序員、高級(jí)系統(tǒng)分析員、系統(tǒng)架構(gòu)師、研發(fā)部部門經(jīng)理、研發(fā)中心總監(jiān)等職;擁有20余項(xiàng)國(guó)家發(fā)明專利。 9年培訓(xùn)經(jīng)驗(yàn),從事企業(yè)IT軟件設(shè)計(jì)培訓(xùn)及咨詢,曾任方正電子內(nèi)部高級(jí)講師、信產(chǎn)部計(jì)算機(jī)技術(shù)培訓(xùn)中心高級(jí)技術(shù)顧問。 康老師對(duì)軟件設(shè)計(jì)中的理論結(jié)合實(shí)際、折中有深刻的體會(huì)和經(jīng)驗(yàn)。以案例豐富,從實(shí)際項(xiàng)目出發(fā),來源于實(shí)踐而著稱,擅長(zhǎng)用直白的語(yǔ)言說明復(fù)雜的原理。

課程費(fèi)用

6800.00 /人

課程時(shí)長(zhǎng)

2

成為教練

課程簡(jiǎn)介

本課程為學(xué)員們進(jìn)行深入的軟件設(shè)計(jì)能力學(xué)習(xí)和提升,設(shè)計(jì)了從C++項(xiàng)目實(shí)踐中的常見易錯(cuò)問題、C++整潔代碼的技巧、面向?qū)ο笤O(shè)計(jì)、C++設(shè)計(jì)模式、C++重構(gòu)及架構(gòu)設(shè)計(jì)。
在C++項(xiàng)目實(shí)踐的內(nèi)容中,本課程準(zhǔn)備了大量的實(shí)際案例,從C++語(yǔ)法、語(yǔ)義、常見陷阱等分析,帶領(lǐng)學(xué)員掌握正確和優(yōu)質(zhì)的寫法。

目標(biāo)收益

培訓(xùn)對(duì)象

課程大綱

第一單元 什么是優(yōu)秀設(shè)計(jì)——函數(shù)及類設(shè)計(jì)要點(diǎn) 內(nèi)容一:什么是好的代碼
1.什么是好的軟件詳細(xì)設(shè)計(jì)和衡量的手段
2.世界大師的觀點(diǎn)(Robert C Martin , Peter Code等)
3.可擴(kuò)展性(Extensibility)容易添加新的功能
4.靈活性(Flexibility)代碼修改平穩(wěn)地發(fā)生.
5.可插入性(Pluggability)結(jié)合案例,通過那些手段如何實(shí)現(xiàn)該目標(biāo)
6.案例分析,剖析某不佳代碼,給出改進(jìn)方案

內(nèi)容二:函數(shù)設(shè)計(jì)及編寫要點(diǎn)
1.函數(shù)中的壞味道(平均長(zhǎng)度、標(biāo)識(shí)參數(shù)等)
2.高扇入與低扇出
3.函數(shù)設(shè)計(jì)的注意點(diǎn),參數(shù)、標(biāo)識(shí)參數(shù)及自解釋
4.重復(fù)代碼處理策略
5.指令與查詢分離
6.Switch-case、try-catch結(jié)構(gòu)
7.案例分析及練習(xí)

內(nèi)容三:類的設(shè)計(jì)及編碼原則運(yùn)用
1.類中耦合度的分析和策略
2.用多態(tài)提高系統(tǒng)的可擴(kuò)展性
3.用間接類增強(qiáng)系統(tǒng)靈活性
4.用控制類處理復(fù)雜邏輯
5.用適配器類避免條件分支
6.類的開封原則(OCP)、單一職責(zé)原則(SRP)及LSP原則
7.案例分析
第二單元
軟件設(shè)計(jì)模式與軟件設(shè)計(jì)思想
內(nèi)容一:常見的設(shè)計(jì)模式及其運(yùn)用
1.使用GOF設(shè)計(jì)模式,借鑒前人的經(jīng)驗(yàn)。
2.分析創(chuàng)建型模式:?jiǎn)卫J剑⊿ingleton)、工廠模式、抽象工廠模式(Abstractfactory)
3.分析結(jié)構(gòu)型模式:橋梁模式(Bridge)、裝飾模式(Decorator)、適配器模式(Adapter)、代理模式(Proxy)、組合模式(Composite)
4.分析行為型模式:命令模式(Command )、觀察者模式(Observer)、狀態(tài)模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、訪問者模式(Template Method)

內(nèi)容二:常見的設(shè)計(jì)模式及軟件原則案例分析
1.某游戲軟件設(shè)計(jì)
2.某管理軟件設(shè)計(jì)
第三單元 領(lǐng)域驅(qū)動(dòng)及系統(tǒng)實(shí)踐 內(nèi)容一:業(yè)務(wù)邏輯層中的子層設(shè)計(jì)
1.信息專家原則在重構(gòu)的運(yùn)用
2.使用類的封裝特征實(shí)現(xiàn)數(shù)據(jù)和函數(shù)隱藏
3.業(yè)務(wù)邏輯層組件設(shè)計(jì)
4.領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的思想及其在類編碼中的實(shí)踐
5.業(yè)務(wù)服務(wù)、fa?ade、實(shí)體、值對(duì)象、領(lǐng)域?qū)ο?br/>6.充血模型、貧血模型、失血模型在編碼中的分析

內(nèi)容二:系統(tǒng)接口設(shè)計(jì)
1.內(nèi)存接口及網(wǎng)絡(luò)接口要點(diǎn)
2.依賴倒置原則
3.接口隔離原則

內(nèi)容三:IOC原理及其在編碼中的應(yīng)用
1.理解IOC的本質(zhì)
2.服務(wù)組件及能組件的設(shè)計(jì)
3.靈活使用IOC達(dá)成可擴(kuò)展的代碼體系
案例分析及練習(xí)——通用數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)

內(nèi)容四、 典型案例分析
1.訂餐系統(tǒng)
2.某設(shè)備系統(tǒng)設(shè)計(jì)
第四單元 識(shí)別代碼中的壞味道及重構(gòu)實(shí)踐 內(nèi)容一:重構(gòu)初步:識(shí)別編碼中的壞味道
1.重復(fù)的代碼
2.過大的類及過長(zhǎng)的函數(shù)
3.耦合:依戀情結(jié)、數(shù)據(jù)泥團(tuán)及過度耦合的消息鏈
4.分散的邏輯:發(fā)散的變化及霰彈式的修改
5.復(fù)雜的邏輯:switch現(xiàn)象及平行繼承體系
6.其它:中間人、數(shù)據(jù)類、不佳的繼承

內(nèi)容二:重構(gòu)實(shí)踐:面向?qū)ο蠹邦I(lǐng)域驅(qū)動(dòng)
1.將過程化設(shè)計(jì)轉(zhuǎn)化為對(duì)象設(shè)計(jì),并討論過程化設(shè)計(jì)與對(duì)象化設(shè)計(jì)的特點(diǎn)及歷史博弈;并給出過程式設(shè)計(jì)及及對(duì)象設(shè)計(jì)的模式——合適的就是好的!
2.封裝值域/自封裝值域的重構(gòu)
3.以數(shù)據(jù)類取代記錄的策略
4.以對(duì)象取代數(shù)組的策略
5.以類取代型別碼——Replace Type Code with Class
6.以子類取代型別碼——Replace Type Code with Subclasses
7.以值域取代子類——Replace Subclass with Fields
8.建模為屬性與建模為對(duì)象——系統(tǒng)建模中的微妙變化
9.Data Class——純粹的數(shù)據(jù)類
10.以State/Strategy取代型別碼
11.通過案例介紹函數(shù)的重構(gòu)

內(nèi)容三:重構(gòu)實(shí)踐—復(fù)雜條件表達(dá)式重構(gòu)
1.常見問題,如何處理讓人瘋狂的復(fù)雜分類?
2.以多態(tài)取代條件式——Replace Conditional with Polymorphism
3.提煉繼承體系——Extract Hierarchy
4.塑造模板函數(shù)——Form Template Method
5.以委托取代繼承——Replace Inheritance with Delegation
6.以繼承取代委托——Replace Delegation with Inheritance
7.用Strategy替換條件邏輯
8.用Bridge組合動(dòng)態(tài)變化
9.用State替換狀態(tài)改變條件語(yǔ)句
10.用Composite替換隱含樹
11.用Command替換條件調(diào)度程序
12.在多態(tài)體系中,如何處理子條件不一致的情況——繼承體系中的高級(jí)技巧。

內(nèi)容四:重構(gòu)實(shí)踐—去除“大泥球”式的設(shè)計(jì)
1.過大的函數(shù)、模塊、子系統(tǒng)
2.依戀情結(jié)、數(shù)據(jù)泥團(tuán)
3.從系統(tǒng)設(shè)計(jì)的角度分析混亂產(chǎn)生的原因
4.通過案例介紹如何分解系統(tǒng)

內(nèi)容五:重構(gòu)實(shí)踐—職責(zé)單一
1.一個(gè)模塊完成一個(gè)職責(zé)——子模塊位于同一個(gè)抽象層次
2.功能函數(shù)與邏輯函數(shù)的分離
3.Divergent Change——發(fā)散的變化
4.Shotgun Surgery——散彈槍式的修改
第五單元平臺(tái)重構(gòu)實(shí)踐 內(nèi)容一:某系統(tǒng)重構(gòu)分析
1.底層服務(wù)抽取分析
2.分析子系統(tǒng)并對(duì)其定位
3.重構(gòu)對(duì)現(xiàn)有系統(tǒng)的沖擊及避免方式
第一單元 什么是優(yōu)秀設(shè)計(jì)——函數(shù)及類設(shè)計(jì)要點(diǎn)
內(nèi)容一:什么是好的代碼
1.什么是好的軟件詳細(xì)設(shè)計(jì)和衡量的手段
2.世界大師的觀點(diǎn)(Robert C Martin , Peter Code等)
3.可擴(kuò)展性(Extensibility)容易添加新的功能
4.靈活性(Flexibility)代碼修改平穩(wěn)地發(fā)生.
5.可插入性(Pluggability)結(jié)合案例,通過那些手段如何實(shí)現(xiàn)該目標(biāo)
6.案例分析,剖析某不佳代碼,給出改進(jìn)方案

內(nèi)容二:函數(shù)設(shè)計(jì)及編寫要點(diǎn)
1.函數(shù)中的壞味道(平均長(zhǎng)度、標(biāo)識(shí)參數(shù)等)
2.高扇入與低扇出
3.函數(shù)設(shè)計(jì)的注意點(diǎn),參數(shù)、標(biāo)識(shí)參數(shù)及自解釋
4.重復(fù)代碼處理策略
5.指令與查詢分離
6.Switch-case、try-catch結(jié)構(gòu)
7.案例分析及練習(xí)

內(nèi)容三:類的設(shè)計(jì)及編碼原則運(yùn)用
1.類中耦合度的分析和策略
2.用多態(tài)提高系統(tǒng)的可擴(kuò)展性
3.用間接類增強(qiáng)系統(tǒng)靈活性
4.用控制類處理復(fù)雜邏輯
5.用適配器類避免條件分支
6.類的開封原則(OCP)、單一職責(zé)原則(SRP)及LSP原則
7.案例分析
第二單元
軟件設(shè)計(jì)模式與軟件設(shè)計(jì)思想
內(nèi)容一:常見的設(shè)計(jì)模式及其運(yùn)用
1.使用GOF設(shè)計(jì)模式,借鑒前人的經(jīng)驗(yàn)。
2.分析創(chuàng)建型模式:?jiǎn)卫J剑⊿ingleton)、工廠模式、抽象工廠模式(Abstractfactory)
3.分析結(jié)構(gòu)型模式:橋梁模式(Bridge)、裝飾模式(Decorator)、適配器模式(Adapter)、代理模式(Proxy)、組合模式(Composite)
4.分析行為型模式:命令模式(Command )、觀察者模式(Observer)、狀態(tài)模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、訪問者模式(Template Method)

內(nèi)容二:常見的設(shè)計(jì)模式及軟件原則案例分析
1.某游戲軟件設(shè)計(jì)
2.某管理軟件設(shè)計(jì)
第三單元 領(lǐng)域驅(qū)動(dòng)及系統(tǒng)實(shí)踐
內(nèi)容一:業(yè)務(wù)邏輯層中的子層設(shè)計(jì)
1.信息專家原則在重構(gòu)的運(yùn)用
2.使用類的封裝特征實(shí)現(xiàn)數(shù)據(jù)和函數(shù)隱藏
3.業(yè)務(wù)邏輯層組件設(shè)計(jì)
4.領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的思想及其在類編碼中的實(shí)踐
5.業(yè)務(wù)服務(wù)、fa?ade、實(shí)體、值對(duì)象、領(lǐng)域?qū)ο?br/>6.充血模型、貧血模型、失血模型在編碼中的分析

內(nèi)容二:系統(tǒng)接口設(shè)計(jì)
1.內(nèi)存接口及網(wǎng)絡(luò)接口要點(diǎn)
2.依賴倒置原則
3.接口隔離原則

內(nèi)容三:IOC原理及其在編碼中的應(yīng)用
1.理解IOC的本質(zhì)
2.服務(wù)組件及能組件的設(shè)計(jì)
3.靈活使用IOC達(dá)成可擴(kuò)展的代碼體系
案例分析及練習(xí)——通用數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)

內(nèi)容四、 典型案例分析
1.訂餐系統(tǒng)
2.某設(shè)備系統(tǒng)設(shè)計(jì)
第四單元 識(shí)別代碼中的壞味道及重構(gòu)實(shí)踐
內(nèi)容一:重構(gòu)初步:識(shí)別編碼中的壞味道
1.重復(fù)的代碼
2.過大的類及過長(zhǎng)的函數(shù)
3.耦合:依戀情結(jié)、數(shù)據(jù)泥團(tuán)及過度耦合的消息鏈
4.分散的邏輯:發(fā)散的變化及霰彈式的修改
5.復(fù)雜的邏輯:switch現(xiàn)象及平行繼承體系
6.其它:中間人、數(shù)據(jù)類、不佳的繼承

內(nèi)容二:重構(gòu)實(shí)踐:面向?qū)ο蠹邦I(lǐng)域驅(qū)動(dòng)
1.將過程化設(shè)計(jì)轉(zhuǎn)化為對(duì)象設(shè)計(jì),并討論過程化設(shè)計(jì)與對(duì)象化設(shè)計(jì)的特點(diǎn)及歷史博弈;并給出過程式設(shè)計(jì)及及對(duì)象設(shè)計(jì)的模式——合適的就是好的!
2.封裝值域/自封裝值域的重構(gòu)
3.以數(shù)據(jù)類取代記錄的策略
4.以對(duì)象取代數(shù)組的策略
5.以類取代型別碼——Replace Type Code with Class
6.以子類取代型別碼——Replace Type Code with Subclasses
7.以值域取代子類——Replace Subclass with Fields
8.建模為屬性與建模為對(duì)象——系統(tǒng)建模中的微妙變化
9.Data Class——純粹的數(shù)據(jù)類
10.以State/Strategy取代型別碼
11.通過案例介紹函數(shù)的重構(gòu)

內(nèi)容三:重構(gòu)實(shí)踐—復(fù)雜條件表達(dá)式重構(gòu)
1.常見問題,如何處理讓人瘋狂的復(fù)雜分類?
2.以多態(tài)取代條件式——Replace Conditional with Polymorphism
3.提煉繼承體系——Extract Hierarchy
4.塑造模板函數(shù)——Form Template Method
5.以委托取代繼承——Replace Inheritance with Delegation
6.以繼承取代委托——Replace Delegation with Inheritance
7.用Strategy替換條件邏輯
8.用Bridge組合動(dòng)態(tài)變化
9.用State替換狀態(tài)改變條件語(yǔ)句
10.用Composite替換隱含樹
11.用Command替換條件調(diào)度程序
12.在多態(tài)體系中,如何處理子條件不一致的情況——繼承體系中的高級(jí)技巧。

內(nèi)容四:重構(gòu)實(shí)踐—去除“大泥球”式的設(shè)計(jì)
1.過大的函數(shù)、模塊、子系統(tǒng)
2.依戀情結(jié)、數(shù)據(jù)泥團(tuán)
3.從系統(tǒng)設(shè)計(jì)的角度分析混亂產(chǎn)生的原因
4.通過案例介紹如何分解系統(tǒng)

內(nèi)容五:重構(gòu)實(shí)踐—職責(zé)單一
1.一個(gè)模塊完成一個(gè)職責(zé)——子模塊位于同一個(gè)抽象層次
2.功能函數(shù)與邏輯函數(shù)的分離
3.Divergent Change——發(fā)散的變化
4.Shotgun Surgery——散彈槍式的修改
第五單元平臺(tái)重構(gòu)實(shí)踐
內(nèi)容一:某系統(tǒng)重構(gòu)分析
1.底層服務(wù)抽取分析
2.分析子系統(tǒng)并對(duì)其定位
3.重構(gòu)對(duì)現(xiàn)有系統(tǒng)的沖擊及避免方式

課程費(fèi)用

6800.00 /人

課程時(shí)長(zhǎng)

2

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

近期公開課推薦

近期公開課推薦

活動(dòng)詳情

提交需求