zoukankan      html  css  js  c++  java
  • 设计模式--桥接

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

    桥接模式

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

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

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

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

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

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

     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
  • 相关阅读:
    python获取DBLP数据集
    GNUPLOT 画多组柱状图 以及 折线图 以及各种问题的解决方案
    Leetcode 1:two sum
    测试面试之如何测试一个杯子
    C++小总结
    统计‘1’的个数
    C语言小总结
    剑指offer面试题1---赋值运算符函数
    黑盒测试与白盒测试
    软件测试的原则
  • 原文地址:https://www.cnblogs.com/TAO-JL/p/10047436.html
Copyright © 2011-2022 走看看