1画机、設(shè)計(jì)模式的六大原則
?開閉原則
對擴(kuò)展開放冶伞,對修改關(guān)閉。在程序需要進(jìn)行拓展的時候步氏,不能去修改原有的代碼响禽,實(shí)現(xiàn)一個熱插拔的效果。簡言之荚醒,是為了使程序的擴(kuò)展性好芋类,易于維護(hù)和升級。想要達(dá)到這樣的效果界阁,我們需要使用接口和抽象類侯繁,后面的具體設(shè)計(jì)中我們會提到這點(diǎn)。
?里氏代換原則
里氏代換原則是面向?qū)ο笤O(shè)計(jì)的基本原則之一泡躯。 里氏代換原則中說贮竟,任何基類可以出現(xiàn)的地方,子類一定可以出現(xiàn)较剃。LSP 是繼承復(fù)用的基石咕别,只有當(dāng)派生類可以替換掉基類,且軟件單位的功能不受到影響時写穴,基類才能真正被復(fù)用惰拱,而派生類也能夠在基類的基礎(chǔ)上增加新的行為。里氏代換原則是對開閉原則的補(bǔ)充啊送。實(shí)現(xiàn)開閉原則的關(guān)鍵步驟就是抽象化偿短,而基類與子類的繼承關(guān)系就是抽象化的具體實(shí)現(xiàn)欣孤,所以里氏代換原則是對實(shí)現(xiàn)抽象化的具體步驟的規(guī)范。
?依賴倒轉(zhuǎn)原則
這個原則是開閉原則的基礎(chǔ)翔冀,具體內(nèi)容:針對對接口編程导街,依賴于抽象而不依賴于具體。
?接口隔離原則
使用多個隔離的接口纤子,比使用單個接口要好搬瑰。它還有另外一個意思是:降低類之間的耦合度。由此可見控硼,其實(shí)設(shè)計(jì)模式就是從大型軟件架構(gòu)出發(fā)泽论、便于升級和維護(hù)的軟件設(shè)計(jì)思想,它強(qiáng)調(diào)降低依賴卡乾,降低耦合翼悴。
?迪米特法則,又稱最少知道原則
最少知道原則是指:一個實(shí)體應(yīng)當(dāng)盡量少地與其他實(shí)體之間發(fā)生相互作用幔妨,使得系統(tǒng)功能模塊相對獨(dú)立鹦赎。
?合成復(fù)用原則
合成復(fù)用原則是指:盡量使用合成/聚合的方式,而不是使用繼承误堡。
2古话、23種設(shè)計(jì)模式
總體來說設(shè)計(jì)模式分為三大類:
創(chuàng)建型模式(5種):單例模式、工廠方法模式锁施、抽象工廠模式陪踩、建造者模式、原型模式
結(jié)構(gòu)型模式(7種):適配器模式悉抵、裝飾者模式肩狂、代理模式、外觀模式姥饰、橋接模式傻谁、組合模式、享元模式
行為型模式(11種):策略模式列粪、模板方法模式栅螟、觀察者模式、迭代器模式篱竭、責(zé)任鏈模式力图、命令模式、備忘錄模式掺逼、狀態(tài)模式吃媒、訪問者模式、中介者模式、解釋器模式 赘那。
講設(shè)計(jì)模式的文章網(wǎng)絡(luò)上很多的刑桑,大家百度下有很多優(yōu)秀博文 。我這里收藏了一份很完整的Java設(shè)計(jì)模式的視頻教程募舟,很適合學(xué)習(xí)祠斧,分享給大家!
以上資源獲取方式
關(guān)注公眾號:【程序IT圈】后臺回復(fù):模式