设计模式概览

面向对象编程

  • 关键四要素

四要素

  • 对象之间的关系

    • 实现:类A定义的方法由接口B声明,对象A可被视为对象B(多态)

    • 继承:类A继承类B的接口和实现,但可以对象其进行扩展

      继承

    • 依赖:对类B的进行修改会影响到类A

      依赖

    • 关联:对象A知道对象B,类A依赖于类B

      关联

    • 聚合:对象A知道对象B且由B构成。

      聚合

    • 组合:对象A知道对象B且由B构成。并且管理着B的生命周期

      组合

  • 关系汇总

关系汇总

  • 模式分类
    • 创建型模式:提供创建对象的机制,增加已有代码的灵活性和可复用性
    • 结构性模式:如何将对象和类组成较大的结构,并同时保持结构的灵活和高效
    • 行为模式:负责对象间的高效沟通和职责委派
  • 设计原则
    • 面向接口进行开发,而不是面向实现
    • 组合优于继承
    • SOLID原则
      • 单一职责原则:修改一个类的原因只能有一个
      • 开闭原则:对于扩展,类是开放的;对于修改,类则应该是封闭的
      • 里式替换原则:当你扩展一个类时,记住你应该要能在不修改客户端代码的情况下,将子类的对象作为父类的对象进行传递
      • 接口隔离原则:客户端不应强迫依赖于其不使用的方法
      • 依赖倒置原则:高层次的类不应该依赖于低层次的类。两者都应该依赖于抽象接口。抽象接口不应依赖于具体实现。具体实现应该依赖于抽象接口。