在這里插入圖片描述
設(shè)計(jì)模式的重要性
- 軟件過程中决采,設(shè)計(jì)模式(design pattern)是對(duì)軟件設(shè)計(jì)中普遍存在(反復(fù)出現(xiàn))的各種問題,所提出的解決方案
設(shè)計(jì)模式分類
創(chuàng)建型模式
- 共五種:工廠方法模式欠拾、抽象工廠模式、單例模式骗绕、建造者模式藐窄、原型模式。
結(jié)構(gòu)型模式
- 共七種:適配器模式酬土、裝飾器模式荆忍、代理模式、外觀模式撤缴、橋接模式刹枉、組合模式、享元模式屈呕。
行為型模式**
- 共十一種:策略模式微宝、模板方法模式、觀察者模式虎眨、迭代子模式蟋软、責(zé)任鏈模式、命令模式嗽桩、備忘錄模式岳守、狀態(tài)模式、訪問者模式碌冶、中介者模式湿痢、解釋器模式。
設(shè)計(jì)模式的六大原則
開閉原則(Open Close Principle)
- 開閉原則就是說對(duì)擴(kuò)展開放扑庞,對(duì)修改關(guān)閉譬重。在程序需要進(jìn)行拓展的時(shí)候拒逮,不能去修改原有的代碼,實(shí)現(xiàn)一個(gè)熱插拔的效果臀规。所以一句話概括就是:為了使程序的擴(kuò)展性好消恍,易于維護(hù)和升級(jí)。想要達(dá)到這樣的效果以现,我們需要使用接口和抽象類狠怨,后面的具體設(shè)計(jì)中我們會(huì)提到這點(diǎn)。
里氏代換原則(Liskov Substitution Principle)
- 里氏代換原則(Liskov Substitution Principle LSP)面向?qū)ο笤O(shè)計(jì)的基本原則之一邑遏。 里氏代換原則中說佣赖,任何基類可以出現(xiàn)的地方,子類一定可以出現(xiàn)记盒。 LSP是繼承復(fù)用的基石憎蛤,只有當(dāng)衍生類可以替換掉基類,軟件單位的功能不受到影響時(shí)纪吮,基類才能真正被復(fù)用俩檬,而衍生類也能夠在基類的基礎(chǔ)上增加新的行為。里氏代換原則是對(duì)“開-閉”原則的補(bǔ)充碾盟。實(shí)現(xiàn)“開-閉”原則的關(guān)鍵步驟就是抽象化棚辽。而基類與子類的繼承關(guān)系就是抽象化的具體實(shí)現(xiàn),所以里氏代換原則是對(duì)實(shí)現(xiàn)抽象化的具體步驟的規(guī)范冰肴∏辏—— From Baidu 百科
依賴倒轉(zhuǎn)原則(Dependence Inversion Principle)
- 這個(gè)是開閉原則的基礎(chǔ),具體內(nèi)容:真對(duì)接口編程熙尉,依賴于抽象而不依賴于具體联逻。
接口隔離原則(Interface Segregation Principle)
- 這個(gè)原則的意思是:使用多個(gè)隔離的接口,比使用單個(gè)接口要好检痰。還是一個(gè)降低類之間的耦合度的意思包归,從這兒我們看出,其實(shí)設(shè)計(jì)模式就是一個(gè)軟件的設(shè)計(jì)思想铅歼,從大型軟件架構(gòu)出發(fā)公壤,為了升級(jí)和維護(hù)方便。所以上文中多次出現(xiàn):降低依賴谭贪,降低耦合境钟。
迪米特法則(最少知道原則)(Demeter Principle)
- 為什么叫最少知道原則锦担,就是說:一個(gè)實(shí)體應(yīng)當(dāng)盡量少的與其他實(shí)體之間發(fā)生相互作用俭识,使得系統(tǒng)功能模塊相對(duì)獨(dú)立。
合成復(fù)用原則(Composite Reuse Principle)
- 原則是盡量使用合成/聚合的方式洞渔,而不是使用繼承套媚。