JDK中的设计模式

本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。

一、设计模式的作用

  1. 反复出现问题的解决方案
  2. 增强软件的灵活性
  3. 适应软件不断变化

二、设计模式的七大原则

  1. 开闭原则OCP(Open Close Principle),一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
  2. 里氏代换原则LSP(Liskov Substitution Principle),子类可以扩展父类的功能,但不能改变父类原有的功能
  3. 依赖倒转原则DIP(Dependence Inversion Principle),面向接口编程,依赖于抽象而不依赖于具体。
  4. 接口隔离原则ISP(Interface Segregation Principle),建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。
  5. 合成复用原则CRP(Composite Reuse Principle),要尽量的使用合成和聚合,而不是继承关系达到复用的目的 
  6. 迪米特法则LOD(Law Of Demeter),也叫最少知识原则LKP(Least Knowledge Principle),一个对象应该对其他对象保持最少的了解。
  7. 单一职责原则SRP(Single Responsibility Principle),一个类只负责一项职责,应该仅有一个引起它变化的原因

三、JDK中使用到的设计模式以及分析

    创建型模式

  1. 单例模式
  2. 简单工厂、工厂方法、抽象工厂模式
  3. 建造者模式
  4. 原型模式

    结构型模式

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

    行为型模式

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