这是我参与「第五届青训营 」伴学笔记创作活动的第 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),下次见!