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
  • 相关阅读:
    saltstack推送文件到节点
    Linux查看僵尸进程
    Linux批量对某个目录下特定文件进行修改内容
    Linux查看网络连接数
    Linux查看当前目录下哪个目录占用容量最多
    Linux查看inodes最多的目录
    Linux用命令过滤出ip地址
    mysql表字段的增删改操作
    Python安装模块超时
    sql 查询结果中加入空值列
  • 原文地址:https://www.cnblogs.com/TAO-JL/p/10047436.html
Copyright © 2011-2022 走看看