1.你所知道的設(shè)計(jì)模式有哪些
Java 中一般認(rèn)為有 23 種設(shè)計(jì)模式萄传,我們不需要所有的都會,但是其中常用的幾種設(shè)計(jì)模式應(yīng)該去掌握。下面列
出了所有的設(shè)計(jì)模式活鹰。需要掌握的設(shè)計(jì)模式我單獨(dú)列出來了漏策,當(dāng)然能掌握的越多越好派哲。
總體來說設(shè)計(jì)模式分為三大類:
創(chuàng)建型模式,共五種:工廠方法模式掺喻、抽象工廠模式芭届、單例模式、建造者模式感耙、原型模式褂乍。
結(jié)構(gòu)型模式,共七種:適配器模式即硼、裝飾器模式逃片、代理模式、外觀模式只酥、橋接模式褥实、組合模式呀狼、享元模式。
行為型模式损离,共十一種:策略模式哥艇、模板方法模式、觀察者模式僻澎、迭代子模式貌踏、責(zé)任鏈模式、命令模式窟勃、備忘錄模
式祖乳、狀態(tài)模式、訪問者模式拳恋、中介者模式凡资、解釋器模式。
2.設(shè)計(jì)模式常用的六大原則:
(1)單一職責(zé)原則:一個類應(yīng)該只負(fù)責(zé)一項(xiàng)職責(zé)
(2)接口隔離原則:一個類對另一個類的依賴應(yīng)該建立在最小的接口上
(3)依賴倒轉(zhuǎn)原則:抽象不應(yīng)該依賴細(xì)節(jié)谬运,細(xì)節(jié)應(yīng)該依賴抽象
(4)里式替換原則:子類中盡量不要重寫父類的方法
(5)開閉原則ocp:模塊和函數(shù)應(yīng)該對拓展開放(對提供方)隙赁,對修改關(guān)閉(對使用方)
(6)迪米特原則:迪米特法則(Demeter Princicle)又叫做最少知道原則,即一個類對自己以外的類知道的越少越好梆暖。
(7.合成復(fù)用原則):盡量使用合成/聚合伞访,而不是使用繼承