• 设计模式——适配器模式


    适配器模式(Adapter)是将一个类(对象)的接口(方法或属性)转化成客户希望的另外一个接口(方法或属性),适配器模式使得原本由于接口不兼容而不能一起工作的那些类(对象)可以一些工作。

    比如一个简单的学生查询学科成绩的方法:

    function selectScore( name, id, course_id ){
        // arguments 姓名 学号 课程id
        ...
    }

    当我需要一个班级某门学科的整体成绩列表,而我手上只有每个学生如下的数据

    [
        { name: 'lily', studentID: '0911' },
        { name: 'suny', studentID: '0912' },
        ...
    ]

     我需要查询 英语 其课程ID为  101,那么对于该任务,写一个适配器方式是很恰当不过的

    function selectEnglishScore( stutentObj ){
        selectScore( stutentObj.name, stutentObj.studentID , 101);
    }

    这是一个最简单的关于适配器来处理参数方面兼容的形式。

    另一个例子:

    适用场景:

    在双方都不太容易修改的时候使用适配器。
        其实简单的来说,适配器模式意义上很简单 - 适配,解决兼容问题。主要是为了解决新旧代码之间不想重构而实行的中庸的方式,或者更换一些类库,升级不兼容版本类库的时候的一种“懒惰”方法。对于适配器模式的确会造成一些不同的看法,比如说原本是需要完全重构的代码却使用了几个简单的适配器模式方法就搪塞过去了。随着这些行为的越来越过,使得代码的质量日渐不足,甚至令后来的程序猿感到愤愤不已。

        所以对于适配器模式使用的情况我们需要做好多方面的考虑,其实对于所谓的程序设计模式而言均是如此。原本是为了优化而做的工作,可别到头来适得其反。

    参考http://blog.chinaunix.net/uid-26672038-id-4251500.html

    http://www.cnblogs.com/TomXu/archive/2012/04/11/2435452.html

  • 相关阅读:
    用记事本编写一个Servlet项目
    Servlet开发(一)
    41、java与mysql乱码的问题
    40、JDBC相关概念介绍
    mysql-5.7.12-winx64安装版配置、使用
    39、集合线程安全问题
    38、各Set实现类的性能分析
    电脑取随机数是什么原理,是真正的随机数吗?转自知乎.
    创建Car类,实例化并调用Car类计算运输的原料量是否足够
    用Random类输出验证码
  • 原文地址:https://www.cnblogs.com/zqiong/p/6249670.html
Copyright © 2020-2023  润新知