常用设计模式总结

108 阅读2分钟

一. 设计模式原则

  1. 单一原则(职责单一且明确

    一个类应该只有一个发生变化的原因。

  2. 开闭原则(扩展开发,修改关闭

    软件开发中对扩展开发,对修改关闭。

  3. 里氏替换原则(父类和子类之间的关系

    子类可以扩展父类的功能,但不能改变父类原有的功能。子类继承父类时,除添加新的方法完成功能外,尽量不要重写父类的方法。

  4. 迪米特原则(类与类之间保持弱耦合关系

    最少知道原则。一个对象类对其他对象知道的越少越好。保持最少的关联性。

  5. 接口隔离原则(接口按功能细分

    将臃肿庞杂的接口拆分成更小的更具体的接口,让接口只包含消费者感兴趣的内容。

  6. 依赖倒置原则(依赖抽象接口,不依赖具体对象

    代码设计时,高层模块不应该依赖于底层模块,二者应该都依赖于抽象

二. 常用设计模式

  1. 创建型

  • 简单工厂
  • 工厂方法
  • 抽象工厂
  • 建造者模式
  • 原型模式
  • 单例模式
  1. 结构型
  • 装饰器模式
  • 适配器模式
  • 代理模式
  • 享元模式
  • 门面模式
  1. 行为型
  • 责任链模式
  • 模版模式
  • 监听者模式
  • 策略模式

三.类依赖关系

  • 关联关系 对象之间的一种引用关系。

    1.单向关联:一个带箭头的实线表示,箭头指向被引用的类。

    image.png

    2.双向关联:一个不带箭头的直线表示

    image.png

  • 聚合关系 整体和部分之间的关系,空心菱形的实线表示,菱形指向整体。 image.png

  • 组合关系 表示类之间整体和部分的关系,是一种更加强烈的关系,使用带实心菱形的实线来表示,菱形指向整体 image.png

  • 依赖关系 是一种使用关系,是对象之间耦合度最弱的一种关联方式,是临时性的关联。 使用带箭头的虚线表示,箭头从使用类指向被依赖的类。 image.png

  • 继承关系 是对象之间耦合度最大的一种关系,表示一般和特殊的关系,使用空心三角箭头的实线来表示。 image.png

  • 实现关系 是接口与实现类直接的关系,使用空心三角箭头的虚线表示,箭头从实现类指向接口。 image.png