1.熟练使用前端常用的设计模式编写代码,如单例模式、装饰器模式、代理模式等
代理模式
- 代理模式的定义是:为一个对象提供一个代用品或者占位符,以便控制对它的访问。
//没有代理模式
var Fans = {
flower(){
star.reception("花");
}
}
var star = {
reception:function(gift){
console.log("收到粉丝的:"+gift);
}
}
Fans.flower(); //收到粉丝的:花
//代理模式
//可以把礼物进行过渡
var Fans = {
flower(){
Agent.reception("花");
}
}
var Agent = {
reception:function(gift){
console.log("粉丝送的:"+gift); //粉丝送的:花
star.reception("花");
}
}
var star = {
reception:function(gift){
console.log("收到粉丝的:"+gift);
}
}
Fans.flower(); //收到粉丝的:花
2.发布订阅模式和观察者模式的异同以及实际应用
- 观察者模式中主体和观察者是互相感知的,发布-订阅模式是借助第三方来实现调度的,发布者和订阅者之间互不感知
3.可以说出几种设计模式在开发中的实际应用,理解框架源码中对设计模式的应用
- promise 链式调用
- 观察者模式,视图监听
- redux 发布订阅模式