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
  • 相关阅读:
    Hibernate
    Redis的学习
    Redis的人门以及使用
    Win32 配置文件用法
    Using virtual lists
    windows log
    Win查询注册表获取CPU与内存参数
    MFC 多线程及线程同步
    使用Custom Draw优雅的实现ListCtrl的重绘
    MFC工具栏设计
  • 原文地址:https://www.cnblogs.com/TAO-JL/p/10047436.html
Copyright © 2011-2022 走看看