学习前端设计模式|青训营笔记

55 阅读2分钟

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

前端设计模式

  1. 什么是设计模式
    1. 软件设计中常见问题的解决方案模型
      • 历史经验的总结
      • 与特定语言无关
    2. 设计模式
      • 可复用面向对象软件的基础
  2. 23中设计模式
    • 创建型——如何创建一个对象
    • 结构型——如何灵活地将对象组装成较大的结构
    • 行为型——负责对象间的高效通信和职业划分
  3. 浏览器中的设计模式
    • 单例模式
      • 定义——全局唯一访问对象

      • 应用场景——缓存,全局状态管理等

      • 如何实现
        56a22fc7-0797-46d0-b091-8b314775e04a.png

        d42ffe2f-8976-4a74-b811-96909128c943.png

    • 发布订阅模式
      • 定义——一种订阅方式,可在被订阅对象发生变化时通知订阅者

      • 应用场景——从系统架构之间的解耦,到业务中一些实现模式,像邮件订阅、上线订阅等等,应用广泛

      • 用发布订阅模式实现用户上线订阅

        0f2795cf-52f0-489a-8771-f18885d4e4f4.png

        19f3404c-9aab-4753-b40f-6a0ead83fc29.png

    • JavaScript中的设计模式
      • 原型模式
        • 定义——复制已有对象来创建新的对象

        • 应用场景——JS创建对象的基本模式

        • 用原型模式创建上线订阅中的用户 (js中很多但其他很少)

          ba933866-cda8-446c-b922-989b034670fd.png 19f3404c-9aab-4753-b40f-6a0ead83fc29.png

      • 代理模式
        • 定义——可自定义控制原对象的访问方式,并且允许在更新前后做一些额外处理
        • 应用场景——监控、代理工具、前端框架实现等等
        • 用代理模式实现用户状态订阅
        image.png image.png
      • 迭代器模式
        • 定义——在不暴露数据类型的情况下访问集合中的数据

        • 应用场景——数据结构中有多种数据类型,列表,树等,提供通用操作接口

        • 用for of迭代所有组件

          image.png image.png

    • 前端框架框架
      • 代理模式
        • Vue组件实现计数器

          image.png

      • 组合模式
        • 定义——可多个对象组合使用,也可对单个对象独立使用 -应用场景——DOM、前端组件、文件目录、部门

总结

设计模式在中国前半期比较低迷,后半期呈现起伏较大,最后趋于稳定
设计模式在国际上前期表现出高涨的形态,但在后半区区域稳定
前端设计模式的学习告一段落吧,接下来我们继续学习吧!!!Try to be better
如果文章有不正确或存疑的地方,欢迎评论指出。