GeekBand C++ 李建忠老師 設(shè)計模式

第一講

課程目標

理解松耦合設(shè)計思想

掌握面向?qū)ο笤O(shè)計原則

掌握重構(gòu)技法改善設(shè)計

掌握GOF核心設(shè)計模式

GOF設(shè)計模式

歷史性著作《設(shè)計模式:可復用面向?qū)ο筌浖幕A(chǔ)》,介紹了23種設(shè)計模式。

通常看過這本書的人都知道書的正標題,但是少有人會在意輸?shù)母睒祟}:可復用面向?qū)ο筌浖幕A(chǔ)。可復用是設(shè)計模式的目標,面向?qū)ο笫且环N技術(shù)手法。

通常所說的設(shè)計模式隱含是面向?qū)ο笤O(shè)計模式,但是不等于說設(shè)計模式就是面向?qū)ο笤O(shè)計模式。

從面向?qū)ο笳勂?/b>

面向?qū)ο箅[含著兩種思維模型,底層思維抽象思維

底層思維是指:向下,如何把握機器底層,從微觀理解對象構(gòu)造。如語言構(gòu)造、編譯轉(zhuǎn)換(李老師在這里吐槽c++難學的一點就是c++的編譯器在背后會做很多工作),內(nèi)存模型,運行時機制。

抽象思維是指:向上,如何將我們的周圍世界抽象為代碼程序。如面向?qū)ο螅M件封裝,設(shè)計模式,架構(gòu)模式。

深入理解面向?qū)ο?/h4>

向下:深入理解三大main相對象機制

封裝,隱藏內(nèi)部實現(xiàn)

繼承,復用現(xiàn)有代碼

多態(tài),改寫對象行為

向上:深刻把握面向?qū)ο髾C制所帶來的抽象意義,理解如何使用這些機制來表達現(xiàn)實世界,掌握什么是“好的面向?qū)ο笤O(shè)計”。

個人感觸是多態(tài)的功能比繼承來的更為強大,在代碼解耦和、復用方面都更強大。同時,封裝、繼承、多態(tài)是面向?qū)ο蟮暮诵?,要時刻記住這三點,面向?qū)ο笤O(shè)計模式也是圍繞這三點展開的。

軟件復雜的根本原因

軟件復雜的根本原因是變,如果加上一個修定,就是頻繁的變,特別容易就變。很多外行人會覺得寫代碼的人就是坐在電腦前,敲敲鍵盤就能解決問題,覺得很簡答啊、沒什么難的,但其實這是個誤解。寫代碼很難,寫好代碼、沒有錯誤的代碼,是一種極高的技藝,的確不是那么簡單的。

如何解決復雜性?

分解:人們面對復雜性有一個常見的做法,即分而治之

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容