设计模式简介 设计模式(Design pattern)代表了最佳实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
设计模式是软件设计中常见问题的解决方案的模型,它是历史经验的总结,与特定语言无关。
设计模式分类 根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 中所提到的,总共有 23 种设计模式,可分为三大类。
创建型模式 - 如何创建一个对象
工厂模式 抽象工厂模式 单例模式 建造者模式 原型模式 结构型模式 - 如何灵活的将对象组装成较大的结构
适配器模式 桥接模式 过滤器模式 组合模式 装饰器模式 外观模式 享元模式 代理模式 行为型模式 - 复责对象间的高效通信和职责划分
责任链模式 命令模式 解释器模式 迭代器模式 中介者模式 备忘录模式 观察者模式 状态模式 空对象模式 策略模式 模板模式 访问者模式 浏览器中的设计模式 单例模式 定义:全局唯一访问对象。
应用场景:缓存,全局状态管理等。
发布订阅模式 定义:一种订阅机制,可在被订阅对象发生变化时通知订阅者。
应用场景:从系统架构之间的解耦,到业务中一些实现模式,像邮件订阅,上线订阅等等,应用广泛。 前端框架中的设计模式 代理模式
定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。
应用场景:代理请求-读取本地缓存、埋点功能-代理全局fetch、缓存代理-处理缓存时间等
image.png .组合模式
定义: 可多个对象组合使用,也可单个对象独立使用。
应用场景: dom、前端组件、文件目录、部门