zoukankan      html  css  js  c++  java
  • 设计模式(六):适配器模式

    优点:

      ① 通过引入一个适配器Adapter来重用现有的不兼容的旧类Adeptee,而无需修改旧类原有结构。

      ② 增加了旧类的复用性;适配器的灵活性和扩展性都非常好

    缺点:

      ① 一次最多只能适配一个旧类,不能同时适配多个旧类。

    适用范围:需要有旧类,而旧类的接口不符合新系统的需要,甚至旧类都没有源代码

      

    客户端:  

      Player b = new ForWards("巴蒂尔");
      b.attack();  // 进攻命令(英文)

      //作废
      // Player y = new Center("姚明");
      // y.attack();

      Player ym = new Translator("姚明");  //适配器,此处相当于翻译
      ym.attack();  // 进攻命令(已适配为中文)

    一句话概括:如同一个电源适配器,不论什么电压,只要经过适配器,都能变成适合的220V

        /**
         * Player                     (进攻、防守抽象方法)
         * ForWords  Center  Guards   (实例化Player接口)  -- 本国队员
         * 
         * ForeignCenter (旧类,没有实现Player接口,但包含有类似的进攻、防守的方法)  --  外国队员
         * 
         * Translator (适配器,同样实例化Player接口,然后将旧类属性及方法放入此适配器,用来代替旧类)  --  本国队员(已转化)
         */
  • 相关阅读:
    挑战程序设计竞赛 dp
    算法导论 动态规划
    算法导论第二章
    divide conquer
    时间戳
    bootstrap 针对超小屏幕和中等屏幕设备定义的不同的类
    jQuery中的Ajax
    怎么判断一个变量是Null还是undefined
    认识Ajax
    关于apache
  • 原文地址:https://www.cnblogs.com/shushengyou/p/10220823.html
Copyright © 2011-2022 走看看