zoukankan      html  css  js  c++  java
  • 适配器模式

    适配器模式的作⽤是解决两个软件实体间的接⼝不兼容的问题。使⽤适配器模式之后,原本 由于
    接⼝不兼容⽽不能⼯作的两个软件实体可以⼀起⼯作。 适配器的别名是包装器(wrapper),这是⼀
    个相对简单的模式。在程序开发中有许多这样的 场景:当我们试图调⽤模块或者对象的某个接⼝
    时,却发现这个接⼝的格式并不符合⽬前的需求。 这时候有两种解决办法,第⼀种是修改原来的
    接⼝实现,但如果原来的模块很复杂,或者我们拿 到的模块是⼀段别⼈编写的经过压缩的代码,
    修改原接⼝就显得不太现实了。第⼆种办法是创建 ⼀个适配器,将原接⼝转换为客户希望的另⼀
    个接⼝,客户只需要和适配器打交道。
        
    var googleMap = {
    show: function(){
    console.log( '开始渲染⾕歌地图' );
    }
    };
    var baiduMap = {
    display: function(){
    console.log( '开始渲染百度地图' );
    }
    };
    var baiduMapAdapter = {
    show: function(){
    return baiduMap.display();
    }
    };
    renderMap( googleMap ); // 输出:开始渲染⾕歌地图
    renderMap( baiduMapAdapter ); // 输出:开始渲染百度地图
     
    适配器模式主要⽤来解决两个已有接⼝之间不匹配的问题,它不考虑这些接⼝是怎样实 现的,也不考虑
    它们将来可能会如何演化。适配器模式不需要改变已有的接⼝,就能够 使它们协同作⽤。
    装饰者模式和代理模式也不会改变原有对象的接⼝,但装饰者模式的作⽤是为了给对象 增加功能。装饰
    者模式常常形成⼀条⻓的装饰链,⽽适配器模式通常只包装⼀次。代理 模式是为了控制对对象的访问,
    通常也只包装⼀次。
    我们设计很多插件,有默认值,也算是适配器的⼀种应⽤, vue的prop校验,default也算是适配器的
    应⽤了
    外观模式的作⽤倒是和适配器⽐较相似,有⼈把外观模式看成⼀组对象的适配器,但外观模式最显著的
    特点是定义了⼀个新的接⼝。
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    windows下的tfjs-node安装异常总结
    微信小游戏广告位iphonex底部适配问题
    JS做深度学习3——数据结构
    JS做深度学习2——导入训练模型
    ASP.NET MVC4网站搭建与发布【最新】
    JS做深度学习1——偶然发现与入门
    聊聊H5与JS近几年的黑科技
    Mysql中让两个字段不同时相同的方法
    JUnit4在Eclipse中的使用
    编写DAO,通过JdbcTemplate操作数据库的实践
  • 原文地址:https://www.cnblogs.com/zhouyideboke/p/13674416.html
Copyright © 2011-2022 走看看