设计模式--桥接

坚持并养成习惯,不为有趣真的好难。越是放弃就越多借口不坚持。

桥接模式

思路:分离抽象部分和实现部分,重在相互独立。

多个维度多个变化,不同版本不同类型响应都不同。它就是做"个性化",适应各种要求做出调整。

好处:灵活、减低耦合、提高扩展性。

场景:插件开发、组件开发

假设我们要开发一个弹窗插件,弹窗有不同的类型:普通消息提醒,错误提醒,每一种提醒的展示方式还都不一样。

首先我们定义两个类:普通消息弹窗和错误消息弹窗。

 1 function MessageDialog(animation) {
 2   this.animation = animation;
 3 }
 4 MessageDialog.prototype.show = function () {
 5   this.animation.show();
 6 }
 7 function ErrorDialog(animation) {
 8   this.animation = animation;
 9 }
10 ErrorDialog.prototype.show = function () {
11   this.animation.show();
12 }
 1 var MessageDialog=function(animation){this.animation=animation;}
 2     MessageDialog.prototype.show=function(){this.animation.show();}
 3 
 4 
 5     var ErrorDialog=function(animation){this.animation=animation;}
 6     ErrorDialog.prototype.show=function(){this.animation.show();}
 7 
 8 
 9 
10 
11     var LinerAnimation=function(){};
12     LinerAnimation.prototype.show=function(){console.log("liner");}
13 
14     var EaseAnimation=function(){}; 
15     EaseAnimation.prototype.show=function(){console.log("ease");}
16 
17     var message=new MessageDialog(new LinerAnimation());
18     message.show();
19 
20     var error=new ErrorDialog(new EaseAnimation());
21     error.show();
View Code

猜你喜欢

转载自www.cnblogs.com/TAO-JL/p/10047436.html