• 设计模式是一套反复使用的代码设计经验
  • 每一种模式描述了我们周围不断出现的问题,以及核心的解决方案

面向对象设计原则

开放封闭原则

  • 一个软件实体,类,模块,函数,应该对扩展开放,对修改关闭
  • 即,软件实体尽量在不修改原有代码的情况下进行扩展

    里氏替换原则

  • 所有引用父类的地方必须能够透明的使用其子对象

  • 子类继承父类同样的方法的表现是一致的,参数和返回的类型一致

    依赖倒置原则

  • 高层模块不应该依赖低层模块,二者都应该依赖其抽象

  • 抽象不应该依赖细节,细节应该依赖抽象
  • 即,要针对接口编程么人不是针对现实编程

    接口隔离原则

  • 使用专门的多个接口,而不是使用统单一的总接口

  • 即客户端不应该依赖那些不需要的接口

单一职责原则

  • 不要存在

    设计模式分类

    设计模式分为:创建型,结构型,行为型,三类

    创建型模式

  • 对象的创建和对象的使用分开

  • 因为对象的创建会消耗系统的很多资源,所以对对象的创建进行单独研究
  • 能高效的创建对象就是创建模型需要讨论的问题

  • 创建型模式包括

    • 简单工厂模式 simple factory
    • 工厂方法模式 factory method
    • 抽象工厂模式 abstract factory
    • 创建者模式 builder
    • 原型模式 prototype
    • 单例模式 singleton

      结构型模式

  • 结构型模式

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

行为模式

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