首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
设计模式 -- 狠狠的学
带你看月亮
创建于2022-08-25
订阅专栏
主要学习资料:曾探《JavaScript设计模式与开发实践》
暂无订阅
共7篇文章
创建于2022-08-25
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
狠狠的学 -- 模板方法模式
JS开发用到继承的地方并不多,模板方法模式是基于继承的一种设计模式。不同的类型可能存在同样的执行步骤,那么就可以将各个步骤抽离出来,定义在一个类中,各个类型再去继承这个类。 模板方法模式由 2 个部分
狠狠的学 -- 命令模式
命令模式主要用于解耦请求者与执行者之间的关系。有些场景,请求者并不需要知道操作的具体执行者、操作具体怎么做,但是仍需要发送请求。命令模式就很适合这种场景(比如,订餐)。
狠狠的学 -- 发布订阅模式
传统的发布订阅又可以叫做观察者模式,是松耦合的一对多关系。发布者持有订阅者的方法,发布者发布通知的时候会直接调用订阅者的方法。全局发布订阅则不同,由中间对象来调用订阅者方法。
狠狠的学 -- 迭代器模式
关键在于理解,迭代器模式就是以循环的方式访问聚合对象内的元素。类似lodash库就提供了很多这种方法,将js中只能对数组使用的forEach、map扩展到了其他类型对象。
狠狠的学 -- 代理模式
关键在于代理,也就是不方便直接访问目标对象或者不满足要求的时候,提供一个替身来控制对目标对象的访问。常见的代理有保护代理、缓存代理、虚拟代理。
狠狠的学 -- 策略模式
达到同一个目的可以用多种方法,在不同的情况下可以切换不同的方法达到同样的效果。策略模式关键在于将不同的算法处理过程封装起来,在不同情况下可以切换使用不同的算法。
狠狠的学 -- 单例模式
设计模式是针对工程中实际的问题总结形成的解决方案,不同的使用场景有对应的解决方案。设计模式遵守 3 个基本原则(单一职责原则(SRP)、开放封闭原则、最少知识原则(LKP))。另外讲了单例、惰性单例。