JavaScript设计模式之观察者模式

 w候人兮猗
介绍 发布订阅 一对多 实例 肯德基点餐后等着被叫号 订报纸后每天等着送报纸 UML 代码演示 // 主题 保存状态 状态变化之后触发所有观察者 class Subject{ constructor() { this.state = 0 this.obsevers = [] ...

JavaScript设计模式之外观模式

 w候人兮猗
介绍 为子系统中的一组接口提供了一个高层接口 使用者使用这个高层接口 - 原来的系统中用户对接每一个子系统 - 使用外观模式之后用户只需要对接外观那个高层接口即可 UML 代码演示 function bindEvent(elem,type,selector,fn) { if(fn == n ...

JavaScript设计模式之代理模式

 w候人兮猗
介绍 使用者无权直接访问目标对象 中间使用代理,通过代理的方式做授权和控制 实例 科学上网 明星经纪人 UML 代码演示 class RealImg{ constructor(fileName){ this.fileName = fileName; this.loadFromDisk() ...

JavaScript设计模式之装饰器模式

 w候人兮猗
介绍 为对象添加新功能 不改变其原有的结构和功能 实例 手机壳(只是增加装饰、防摔功能) UML - 通过Decortor为Circle新增setRedBorder()方法 代码演示 //圆 class Circle{ draw(){ console.log('画一个圆') } ...

JavaScript设计模式之适配器模式

 w候人兮猗
介绍 旧接口格式和使用者不兼容 中间需要加一个适配转换接口 实例 电源适配器 UML - 简化之后 - 在客户与原类中,如果需求不满足,那么实现一个Adapter继承原类实现客户需要的新功能 代码演示 class Adaptee{ specificRequest(){ ...

JavaScript设计模式之单例模式

 w候人兮猗
介绍 系统中被唯一使用 一个类只有一个实例 实例 购物车 登录框 UML类图 外部无法直接new出SingleObject 通过getInstance()方法返回SingleObject对象 代码演示 单例模式需要用到java的private特性 - java实现 public class SingleObject{ ...