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

66 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天

第五天学习了设计模式相关课程内容,我把我学习到的内容做了一些笔记😀。


这次就文字笔记多,敲的代码少了,毕竟仍然还是理论课程。


接下来看看我的笔记:

  • 创建型 灵活高效
  • 结构型 更合理
  • 行为型 通信职责划分

单例模式 全局唯一访问对象 缓存,全局状态管理等

发布订阅模式 在被订阅对象发生变化时通知订阅者

js中的设计模式:

原型模式 复制已有对象来创建新的对象

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

迭代器模式 不暴露数据的情况下访问集合中的数据

组合模式 多个对象组合使用,也可以单个对象独立使用 组件,部门等


还有写了段代码:代理模式实现用户上线

其中online对视频前面的例子进行了改进,这个是非常好的,一个函数就应该做一个功能,订阅还是代理什么的交给其他函数来处理。 称之为单一原则!

  online() {
    this.status = online;
  }

我还有个奇奇妙妙的发现,有没有人可以回答一下:

const offline = 'offline';
const online = 'online';
type Status = typeof offline | typeof online;

// Status是'offline'|'online'

// const Status2 = typeof Offline
// Status2是"string" 

先想想Status和Status2是什么?

Status2是"string" 没毛病吧,但Status是'offline'|'online'
(这里说的不都是值哈,因为Status2是变量,Status是类型)

我称之为typeof 的奇奇妙妙用法😅(maybe type 的问题)
有大佬了解的可以告诉我!!


type typeof TypeScript 阿里嘎多美羊羊桑🤣!

这里是[可嘉的掘金博客](https://juejin.cn/user/378680749333096),下次见!