- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 中介者模式--其它设计模式
class A{ constructor(){ this.number=0; } setNumber(num,m){ this.number=num; // 通过中介者赋值 if(m){ m.setB(); } }}class B{ constructor(){ this.number=0; } setNumber(number,m){...
2020-01-19 11:19:06 129
原创 备忘录模式--其它设计模式
// 备忘类class Memento{ constructor(content){ this.content=content; } getContent(){ return this.content; }}// 备忘列表class CareTaker{ constructor(){ this.list=[]; } add(memonto){ this....
2020-01-18 17:53:39 171
原创 命令模式--其它设计模式
// 接收者class Receiver{ exec(){ console.log('执行'); }}// 命名者class Command{ constructor(receiver){ this.receiver=receiver; } cmd(){ console.log('执行命令'); this.receiver.exec(); }}//...
2020-01-18 17:35:55 175
原创 模板方法模式和职责链模式--其它设计模式
职责链模式class Action{ constructor(name){ this.name=name; this.nextAction=null; } setNextAction(action){ this.nextAction=action; } handle(){ console.log(this.name+'审批'); if(this.nextAc...
2020-01-18 16:59:29 257
原创 策略模式--其它设计模式
class OrdinaryUser{ buy(){ console.log('普通用户购买') }};class MemberUser{ buy(){ console.log('会员用户购买') }};class VipUser{ buy(){ console.log('VIP用户购买') }}const u1=new OrdinaryUser();c...
2020-01-18 16:57:51 206
原创 桥接模式--其它设计模式
class Color{ constructor(name){ this.name=name; }};class Shape{ constructor(name,color){ this.name=name; this.color=color; } draw(){ console....
2020-01-18 16:31:34 121
原创 svn的使用
1.创建版本库:新建文件夹之后,在当前文件夹右键,create repository here创建版本库;2.在上面的文件夹内可以创建开发根目录文件夹,再把已经有的项目,右键import进入服务器的版本库3.把服务器端代码,checkout更新到本地的开发根目录4.提交代码:右键commit5.版本回退:开发根目录右键show log或者update to version可以看到历...
2020-01-18 09:33:08 117
原创 迭代器模式
const arr=[1,2,3,4];const node_list=document.getElementsByName('p');const $a=$('p');/*三种数据结构,需要三种迭代写法*/arr.forEach(function(item){ console.log(item);})for(let i=0;i<node_list.length;i...
2020-01-10 18:45:43 109
原创 观察者模式
//要保存的主题class Subject{ constructor(){ this.state=0; this.observers=[]; } getState(){ return this.state; } setState(state){ this.state=state; this.notifyAllObservers(); } notifyA...
2020-01-08 12:51:20 131
原创 外观模式
去医院,有接待员统一挂号,划价,收费通过一个接口,封装两个子接口,这就是外观模式的一中体现适度使用,要考虑接口独立原则,不可滥用...
2020-01-07 17:32:04 185 1
原创 代理模式
class ReadImg{//被代理类 constructor(filename){ this.filename=filename; this.loadFromDisk(); } loadFromDisk(){ console.log('loading...'+this.filename) } display(){ console.log('display....
2020-01-07 16:19:49 134
原创 装饰器模式-打印日志-提示API废弃信息
为对象添加功能,不改变其原有的结构和功能,类似手机壳,手机功能还是正常使用,但是加了手机壳,可以防滑,美观class Circle{ draw(){ console.log('画图') }}class Decorator{ constructor(circle){ this.circle=circle; } draw(){ this.circle.draw(...
2020-01-06 12:58:19 207
原创 适配器模式
旧接口格式和使用者不兼容,中间加一个适配器转换接口 class Adaptee{ specificRequest(){ return '德国标准电压' }}class Target{ /*适配器类*/ constructor(){ this.adaptee=new Adaptee(); } request(){ const info=thi...
2020-01-04 13:12:10 88
原创 单例模式
系统中被唯一使用,一个类只有一个实例示例:登录框,购物车,jq中只有一个$class SingleObject{ login(){ console.log('login') }}SingleObject.getInstance=(function(){ /*类上的静态方法,只实例化一次,把实例放在类上面*/ let instance=null; if(!instance...
2020-01-03 12:45:25 131
原创 工厂模式
通过工厂Creator生成实例,避免构造函数名的更改造成影响,隔离开构造函数,统一创建实例的入口;使用场景:1. Array.prototype.slice.call(document.querySelectorAll('a'), 0)的作用就是将一个DOM NodeList 转换成一个数组。class jQuery{ constructor(selecto...
2020-01-02 12:46:17 279 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人