设计模式

71 阅读2分钟

设计模式六原则

  1. 开闭原则,对新增开放,对修改关闭
  2. 单一职责
  3. 接口隔离,封装性,一个接口做特定的事情
  4. 里氏替换,所有父类出现的地方都可以用子类替换
  5. 迪米特法则,减少类之间的耦合,不相关的类应该通过代理类实现通信
  6. 依赖倒置原则,应该依赖抽象不应该依赖具体

设计模式简单理解:

  1. 简单工厂

  2. 抽象工厂 需要大量产生类似实例的组件可以考虑用工厂模式来封装

  3. 工厂方法

  4. 策略模式 优化ifelse代码

  5. 建造者模式 内部结构复杂(工序多、按照顺序组装),外部使用简单的实例。

  6. 享元模式 -->提取公共部分

  7. 模板方法模式 -> 基础的部分提取到父类,做继承

  8. 装饰器模式 如果我们已经拿到了一些旧代码,但是这些旧代码不能满足我们的需求,我们又不能随意更改他,我们可以考虑使用装饰器模式来增强他的功能

  9. 桥接模式 抽象出多个独立的模块,各模块独立变化,最后组装成新的实例

  10. 发布订阅模式 异步通讯

  11. 单例模式,全局只需要一个实例

  12. 原型模式 js本身的继承

  13. 适配器 对于旧代码改造或者新模块引入,我们可能面临接口不通用的情况,这时候我们可以考虑写一个适配器来适配他们

  14. 外观模式, 内部很细,暴露给外部的很少

  15. 备忘录模式 -> 类似于函数缓存

  16. 职责链模式

需要对某个对象进行一系列的操作,这些操作可以组织成一个链条,那我们可以考虑使用职责链模式。链条上的具体任务不需要知道其他任务的存在,只专注自己的工作,消息的传递由链条负责。使用了职责链模式,链条上的任务可以很方便的增加,删除或者重新组织成新的链条,就像一个流水线一样。