1. 什么是設(shè)計模式
“每一個模式描述了一個在我們周圍不斷重復(fù)發(fā)生的問題以及該問題的解決方案的核心”潮剪。這樣纪蜒,你就能一次一次地使用這個方案而不必重復(fù)勞動,即重復(fù)創(chuàng)造輪子腾夯。
2. 從面向?qū)ο笳勂?/h2>
- 底層思維:向下,如何把握機器底層蔬充,從微觀理解對象構(gòu)造蝶俱。
語言構(gòu)造
編譯轉(zhuǎn)換
內(nèi)存模型
運行時機制
- 抽象
[圖片上傳中...(image.png-876aed-1695919907744-0)]
3 深入理解面向?qū)ο?/h2>
- 底層思維:向下,如何把握機器底層蔬充,從微觀理解對象構(gòu)造蝶俱。
語言構(gòu)造
編譯轉(zhuǎn)換
內(nèi)存模型
運行時機制
- 抽象
[圖片上傳中...(image.png-876aed-1695919907744-0)]
向下:深入理解三大面向?qū)ο髾C制
- 封裝, 隱藏內(nèi)部實現(xiàn)
- 繼承饥漫,復(fù)用現(xiàn)有代碼
- 多態(tài)榨呆,改寫對象行為
向上:理解如何使用這些機制表達現(xiàn)實意義
4 軟件設(shè)計復(fù)雜的原因
變化
- 客戶需求的變化
- 技術(shù)平臺的變化
- 開發(fā)團隊的變化
- 市場環(huán)境的變化
……
5 如何解決復(fù)雜性
- 分解
分而治之 大問題分解成小問題 復(fù)雜的問題分解成多個簡單的問題 - 抽象
更高層次來講,處理復(fù)雜行的通用技術(shù)庸队。即抽象积蜻,忽略非本質(zhì)細節(jié)闯割,而去處理泛化和理想化了的對象模型。
6 什么是好的軟件設(shè)計
復(fù)用竿拆!