设计模式

设计模式是软件开发过程中一些常见问题的典型解决方案。我们可以将其理解为软件开发的套路

有人认为设计模式是比数据结构与算法更重要的技能,因为数据结构和算法更容易复用,但是设计模式常常需要因地制宜,十分考验工程师的抽象能力,但是在实际开发中也不能为了设计而设计,过度强调未来,造成过度设计。

设计原则

  • 单一原则:修改一个类的原因只有一个。
  • 开闭原则OCP:对扩展开放,对修改关闭
  • 依赖倒置原则:面向接口编程
  • 里氏替换原则:扩展一个类时,能够(不修改代码)将子类的对象作为父类对象进行传递。优先使用对象组合而不是继承。
  • 迪米特原则:也叫最少知识原则,类应尽量降低成员的访问权限,即耦合尽可能弱。
  • KISS:keep it simple stupid, 如无必要,勿增实体

常见设计模式

  • 创建型模式(5 个):与对象的创建有关。
    • 工厂方法模式
    • 抽象工厂模式
    • 单例模式
    • 建造者模式
    • 原型模式
  • 结构型模式(7 个):与对象的组装有关。
    • 适配器模式
    • 装饰模式
    • 外观模式
    • 桥接模式
    • 代理模式
    • 组合模式
    • 享元模式
  • 行为模式(11 个):与对象之间的沟通协调有关。
    • 观察者模式
    • 命令模式
    • 状态模式
    • 职责链模式
    • 模板方法模式
    • 策略模式
    • 解释器模式
    • 中介者模式
    • 访问者模式
    • 备忘录模式
    • 迭代器模式

读源码-设计模式

resources

书:

网站: