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
  • 相关阅读:
    stm32f103 SPI单线TX发数据来驱动LCD
    【转】常见排序算法
    [转]命令行 Subversion 入门
    JLINK V8 Keil MDK4.10 STM32
    字符串表示的大整数相加
    字符串反转
    字符串表示的大整数相乘
    猴子选大王
    [转]Posix-- 互斥锁 条件变量 信号量
    [转]Openwrt的Inittab
  • 原文地址:https://www.cnblogs.com/TAO-JL/p/10047436.html
Copyright © 2011-2022 走看看