設(shè)計(jì)模式1990年首次在建筑領(lǐng)域提出振乏,Christopher Alexander說過:“每一個(gè)模式描述了一個(gè)在我們周圍不斷重復(fù)發(fā)生的問題以及該問題的解決方案”恢准。因此魂挂,設(shè)計(jì)模式的初衷是提供重復(fù)性問題的解決方案。這是以后應(yīng)用的判斷標(biāo)準(zhǔn)馁筐。
設(shè)計(jì)模式應(yīng)用在OOP中有七大原則涂召,從效果上看與“求同存異”的外交政策類似。目的在于實(shí)體之間互不干涉敏沉、獨(dú)立自主果正、交流暢通。生活中的例子俯拾皆是盟迟,避免多龍治水體現(xiàn)單一職責(zé)秋泳;避免朝令夕改體現(xiàn)開閉原則。
應(yīng)用在OOP可總結(jié)為SOLID攒菠,分別是單一職責(zé)迫皱、開閉原則、里式替換辖众、接口隔離舍杜、依賴倒置。單一職責(zé)建議一個(gè)類就做一件事赵辕;開閉原則建議設(shè)計(jì)類時(shí)應(yīng)該對擴(kuò)展部分開放、對修改關(guān)閉概龄,簡而言之还惠,好的設(shè)計(jì)不應(yīng)該修改已有代碼;里式替換建議用超類接受子類私杜,實(shí)際就是多態(tài)(運(yùn)行時(shí)多態(tài))蚕键;接口隔離開放需要的接口,降低依賴衰粹;依賴倒置建議面向接口編程锣光,既統(tǒng)一規(guī)范,又保留擴(kuò)展性铝耻。
設(shè)計(jì)原則.png
- 創(chuàng)建型
- 工廠模式(車間)
- 抽象工廠(定制車間)
- 建造者(流水線)
- 結(jié)構(gòu)型
- 包含
- 裝飾者(包裝)
- 代理(代理商)
- 享元(緩存)
- 適配器(轉(zhuǎn)接頭)
- 相離
- 橋接(搭橋誊爹,解耦)
- 包含
- 行為
- 命令(關(guān)注請求)
- 責(zé)任鏈(關(guān)注結(jié)果)
- 模板(關(guān)注屬性)
- 狀態(tài)(關(guān)注狀態(tài))
- 觀察者(關(guān)注變化)
- 策略(關(guān)注方式)