前端设计模式应用|青训营笔记

90 阅读3分钟

前端设计模式应用|青训营笔记

这是我参与「第四届青训营 」笔记创作活动的第3天

一、什么是设计模式

  • 模式是一种可服用的解决方案,用于解决软件设计中遇到的常见问题。
  • 设计模式是软件设计中常见问题解决方案模型
  • 是历史经验的总结
  • 与特定语言无关

二、设计模式的分类及原则

三大分类:

  1. 创建型——如何创建一个对象

    • 工厂模式
    • 抽象工厂
    • 建造者
    • 原型
    • 单例模式
  2. 结构型——如何灵活的将对象组装成较大的结构

    • 适配器模式
    • 桥接模式
    • 装饰器模式
    • 外观模式
    • 享元模式
    • 代理模式
  3. 行为型——负责对象间的高效通信和职责划分

六大原则:

  • 单一职责原则: 一个类应该只有一 个发生变化的原因。
  • 开闭原则:一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭。
  • 氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象,即子类对象可以替换其父类对象,而程序执行效果不变。
  • 迪米特法则:又叫作最少知识原则,即一个类对于其他类知道的越少越好。
  • 接口隔离原则:多个特定的客户端接口要好于一个通用性的总接口
  • 依赖倒置原则:

1.上层模块不应该依赖底层模块, 它们都应该依赖于抽象。

2.抽象不应该依赖于细节,细节应该依赖于抽象

三、浏览器中的设计模式

单例模式

  • 定义:全局唯一访问对象
  • 应用场景:缓存,全局状态管理等

发布订阅模式

  • 定义:一种订阅机制,可在被订阅对象发送变化时通知订阅者。
  • 应用场景:从系统架构之间的解耦,到业务中一些实现模式,像邮件订阅,上线订阅等等,应用广泛。

四、JavaScript中的设计模式

原型模式

  • 定义:复制已有对象来创建新的对象
  • 应用场景:JS中对象创建的基本模式

代理模式

  • 定义:可自定义控制对原对象的访问方式,并且允许在更新前后做一些额外处理
  • 应用场景:监控,代理工具,前端框架实现等等

五、总结

学习前端设计模式应用,通过理解不同的设计模式在不同的场景中应用。我们不需要把设计模式中所有的东西全应用到页面中,而是通过了解设计模式,让代码变得易读,易扩展,易维护。

通过学习前端基础的内容,熟悉各种设计的原理、理念、代码规范、设计模式,通过日常的开发和阅读中,不断实践,培养自己的代码质量和设计意识。

通过了解每个设计模式的原始起源的定义可以更好的理解,为何会有这样的设计模式,这样的理念是怎么产生的。过时的设计模式,我们应该如何在实际的开发场景中进行改进,应用到我们实际的开发场景中。传统的设计模式,可能在现在看来已经过时,但是不免成为设计模式学习的基础。