java的設計模式大體上分為三大類:
?
創建型模式(5種):工廠方法模式,抽象工廠模式,單例模式,建造者模式,原型模式。
結構型模式(7種):適配器模式,裝飾器模式,代理模式,外觀模式,橋接模式,組合模式,享元模式。
行為型模式(11種):策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。
設計模式遵循的原則有6個:
1、開閉原則(Open Close Principle)
?
對擴展開放,對修改關閉。
?
2、里氏代換原則(Liskov Substitution Principle)
?
只有當衍生類可以替換掉基類,軟件單位的功能不受到影響時,基類才能真正被復用,而衍生類也能夠在基類的基礎上增加新的行為。
?
3、依賴倒轉原則(Dependence Inversion Principle)
?
這個是開閉原則的基礎,對接口編程,依賴于抽象而不依賴于具體。
?
4、接口隔離原則(Interface Segregation Principle)
?
使用多個隔離的借口來降低耦合度。
?
5、迪米特法則(最少知道原則)(Demeter Principle)
?
一個實體應當盡量少的與其他實體之間發生相互作用,使得系統功能模塊相對獨立。
?
6、合成復用原則(Composite Reuse Principle)
?
原則是盡量使用合成/聚合的方式,而不是使用繼承。繼承實際上破壞了類的封裝性,超類的方法可能會被子類修改。