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

    适配器模式:

      将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原本不兼容的类可以一起工作。

    类图:

    角色:

    -目标接口:Target 客户所期待的接口,目标可以是具体的或者抽象的类也可以是接口

    -需要适配的类Adaptee:

    -适配器 Adapter:通过包装一个需要适配的对象,把原接口转换成目标接口。

    实例:

     1 package adapter;
     2 
     3 public interface ITarget {
     4     void handleReq();
     5 }
     6 
     7  package adapter;
     8 
     9 /**
    10  * 被适配的类
    11  * (相当于例子中的,PS/2键盘)
    12  * @author Administrator
    13  *
    14  */
    15 public class Adaptee {
    16     public void request(){
    17         System.out.println("可以完成客户请求的需要的功能!");
    18     }
    19 }
    20 
    21 package adapter;
    22 
    23 /**
    24  * 适配器 (类适配器方式)
    25  * (相当于usb和ps/2的转接器)
    26  * @author Administrator
    27  *
    28  */
    29 public class Adapter extends Adaptee implements ITarget {
    30 
    31     @Override
    32     public void handleReq() {
    33         // TODO Auto-generated method stub
    34         super.request();
    35     }
    36 
    37 }
    View Code
     1 package adapter;
     2 
     3 public class Client {
     4     
     5     public void test1(ITarget t){
     6         t.handleReq();
     7     }
     8     public static void main(String[] args) {
     9         // TODO Auto-generated method stub
    10         Client client = new Client();
    11         Adaptee adaptee = new Adaptee();
    12         ITarget target = new Adapter2(adaptee);
    13         client.test1(target);
    14     }
    15 
    16 }
    View Code

    工作中的场景:

    --经常用来做旧系统改造和升级
    --如果我们的系统开发之后再也不需维护,那么很多模式都是没有必要的。

    --InputStreamReader(InputStream)
    --OutputStreamWriter(OutputStream)

  • 相关阅读:
    PhpStorm如何连接外部服务器

    hello,bokeyuan
    pyspark SparkSession及dataframe基本操作
    spark2.2 中文文档
    广告推荐加入图像特征
    docker教程
    DSSM算法-计算文本相似度
    navivate 下载
    save——model模块保存和载入使用简单例子
  • 原文地址:https://www.cnblogs.com/ilinuxer/p/4946008.html
Copyright © 2011-2022 走看看