常用设计模式学笔

开闭原则:对扩展开放,对修改关闭

里氏替换原则:基类可以出现的地方,子类一定可以出现

迪米特原则(最少知识原则):一个对象应该对其他对象尽可能少的了解,不和陌生人说话

依赖倒置原则:要面向接口编程,不要面向实现编程

单一职责原则:一个类应该只有一个发生变化的原因

接口隔离原则:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上

 0. UML类图定义

聚合:整体与部分的关系

组合:是一种强依赖的聚合关系,即整体不存在了,则部分也不存在了

依赖:一个对象在运行期间会调用另一个对象的关系【通常以构造函数、类方法的入参实现】

关联:不同对象之间的长期强依赖关系【通常以成员变量的形式实现】

1. 适配器模式:

  1.1 类适配器:继承被适配者类,并实现目标接口

    class ClassAdapter extends Adaptee implements Target{

    }

  1.2 对象适配器:实现目标接口,并且被适配者作为构造参数

    class ObjectAdapter implements Target {

      private Adaptee adaptee;

      public ObjectAdapter(Adaptee adaptee){

      }

    }

应用:InputStreamReader 

2. 桥接模式:

 定义:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现

应用:jdbc驱动

3. 外观模式

 定义:为多个复杂的子系统提供一个一致的接口,使这些子系统更加容易被访问

4. 享元模式

5. 策略模式

 定义:通过对算法进行封装,把使用算法的责任和算法的实现分割开来

应用:Comparator

6. 构造者模式

定义:将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成

构造者与工厂模式的区别:构造者模式注重零部件的组装,工厂模式注重于零部件的创建

7. 迭代器模式

定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示

原文地址:https://www.cnblogs.com/wuan90/p/11399880.html