java23种设计模式

91 阅读2分钟

一、设计模式的6大设计原则

1、开闭原则(open close principle)

开放即指对扩展开放,对修改关闭 简而言之,就是扩展功能的时候应该尽量的不修改原有的代码。

2、里氏代换原则(liskov substitution principle)

可以简单理解为派生类与基类的替换关系,一旦程序中出现基类,那么这个基类若是呗派生类替换了,也应该是合适的,并且对程序功能不受影响,该原则实际上是开闭原则的补充。 基类能真正复用,派生类也能够在基类的基础上增加新的行为。实现开闭原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

3、依赖倒转原则(dependence inverse principle)

这个原则是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖于具体。

4、接口隔离原则(Interface Segregation Principle)

使用多个隔离的接口,比使用单个接口要好,该模式出发点在与大一点的软件设计架构,便于维护升级,降低耦合度。

5、迪米特法则,又称最少知道原则(Demeter Principle)

一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立。

6、合成复用原则(Composite Reuse Principle)

尽量使用合成/聚合的方式,而不是使用继承。

二、设计模式的3大分类

1、创建型模式

对象实例化的模式,创建型模式用于解耦对象的实例化过程。

(1)工厂方法模式
(2)抽象工厂模式
(3)单例模式
(4)建造者模式
(5)原型模式

2、结构型模式

把类或对象结合在一起形成一个更大的结构。

(1)适配器模式
(2)装饰器模式
(3)代理模式
(4)外观模式
(5)桥接模式
(6)组合模式
(7)享元模式

3、行为型模式

类和对象如何交互,及划分责任和算法。

(1)策略模式
(2)模板方法模式
(3)观察者模式
(4)迭代子模式
(5)责任链模式
(6)命令模式
(7)备忘录模式
(8)状态模式
(9)访问者模式
(10)中介者模式
(11)解释器模式

欢迎大家关注我的公众号<情系IT>,每日推送文章供大家学习参考。