
设计模式
yakunyang(2016)
入坑2016,留下一些日志,做留恋流年
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
装饰者模式、发布订阅模式
// 发布订阅模式、 装饰者模式 //在不改变原来的对象的基础上,添加新的属性或者方法 // ES7 中的装饰者,借助了 object.defineProperty Object.defineProperty(obj, prop, descriptor) // obj:要在其上定义属性的对象。 // prop:要定义或修改的属性的名称。 // descriptor:将被定义或修改的属性描述符。 // 返回值:被传递给函数的对象。 // 装饰器只能用于类和类的方法,不能用于函数,因为存在函.原创 2020-08-24 18:07:15 · 182 阅读 · 0 评论 -
乔接模式
// 乔接模式。 // 桥接模式(Bridge)将抽象部分与它的实现部分分离,使它们都可以独立地变化。 // 其实就是函数的封装,比如要对某个DOM元素添加color和backgroundColor,可以封装个changeColor函数 // 同将抽象和实现也进行了充分的解耦,也有利于分层 class Speed { // 运动模块 constructor(x, y) { this.x = x this.y = y } run() { console.log(`运动起来 ${thi.原创 2020-08-24 14:54:53 · 144 阅读 · 0 评论 -
适配器模式的应用以及惰性函数
// 适配器模式的应用以及惰性函数 // 外观模式(Facade)为子系统中的一组接口提供了一个一致的界面,此模块定义了一个高层接口,这个接口值得这一子系统更加容易使用。 // 外观模式经常被用于JavaScript类库里,通过它封装一些接口用于兼容多浏览器 // demo1 适配器可以结合 //// 简化写法 function addEvent (type, el, fn) { if (window.addEventListener) { el.addEventListener(ty.原创 2020-08-24 14:44:57 · 141 阅读 · 0 评论 -
整理历史知识-设计模式-单例模式
// 单个例子的模式 demo1 function singleCase (name){ this.name = name; } singleCase.prototype.sayHi = function(){ alert(this.name); } let getInstance = (function(){ var instance = null; return function(name) { if(!instance) { //相当于一个一次性阀门,只能实例化一次 instan原创 2020-08-24 11:54:34 · 143 阅读 · 0 评论 -
js设计模式-之- 策略模式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compa...原创 2019-05-27 12:17:25 · 145 阅读 · 0 评论