java设计模式介绍

来源:互联网 发布:js得到select选中的值 编辑:程序博客网 时间:2024/05/17 04:22

一、设计模式的六大基本原则

1.单一职责原则(Single Responsibility Principle,SRP)

一个类而言,应该仅有一个引起它变化的原因。通俗的说就是一个类应该是一组性质相似,相关性很高的方法和属性的集合。

2.开闭原则

对扩展是开发的,对修改是封闭的。在维护升级我们的代码的时候,我们应该尽量不去修改之前的代码而破坏它现有的结构,而是应该通过扩展继承的方式在进行修改。

3.里氏替换原则

里氏替换依赖于面向对象的继承和多态这两个特点。它的定义是任何使用基类的地方都可以使用子类,当使用子类替换父类的时候我们的代码并不会产生错误异常。但是反过来的话如果在使用子类的地方,并不能直接使用父类对象。

4.依赖倒置原则

高层模块不应该直接依赖底层模块,而是这两者都依赖于抽象。抽象不依赖具体而具体依赖于抽象。

5.接口隔离原则

类与类之间的关系应该建立在接口上面,不需要的接口不应该依赖。这还是为了降低耦合。

6. 迪米特原则

一个类应该尽量的对依赖或者调用的类知道的最少,如果依赖的类或者调用的类有变化,那对我们现在的类的影响应该尽量的小。

二、分类

设计模式目前有23种,总体上大概分为3类。

  • 创建型模式(5种):

单例模式、工厂方法模式、抽象工厂模式、Builder模式、原型模式。

  • 结构型模式(7种):

适配器模式、装饰器模式、代理模式、组合模式、享元模式、外观模式、桥接模式

  • 行为型模式(11种):

观察者模式、策略模式、责任链模式、命令模式、状态模式、模板模式、迭代器模式、备忘录模式、访问中模式、中介者模式、解释器模式

下面我们将逐一介绍这些模式。