设计模式

1.策略模式

在问题发生之前,想好应对的方案。

坦克的例子

2.代理模式

房东租房的例子

网页加载的进度条

代理   安全性

3.单例模式

就只有一个对象存在

实例:

const single =(function(){
let status; //用它来存储状态
let num =0;
function init(){
return{
sayHello:function(){
console.log("hello,world");
},
sayGoodBye:function(){
console.log("再见");
},
setNum:function(){
return num++;
},
getNum:function(){
return num;
}
}
}
return{
getStatus:function(){
if(!status){
status =init();
}
return status;
}
}
})();

// console.log(single);
// console.log(single.getStatus());
let info=single.getStatus();

console.log(info.setNum());
console.log(info.setNum());
console.log(info.setNum());
console.log(info.setNum());

let info2=single.getStatus();
console.log("------------"+info2.getNum());
info2.setNum();
console.log("=========="+info2.getNum())

 

4.观察者模式

发布 & 订阅

一对多、一对一 都是存在发布和订阅的关系

 5.工厂模式

 就是将一些操作进行实例化封装

posted @ 2019-12-04 15:09  冬冬先生  阅读(203)  评论(0编辑  收藏  举报