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

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11401410.html

    1. 定义
    将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

    2. 结构图

    Client:客户端,调用自己需要的领域接口Target
    Target:定义客户端需要的跟特定领域相关的接口。
    Adaptee:已经存在的接口,通常能满足客户端的功能需求,但是接口与客户端要求的特定领域接口不一致,需要被适配。
    Adapter:适配器,把Adaptee适配成为Client需要的Target。

    3. 本质
    适配器模式的本质是:转换匹配,复用功能。

    4. Code Demo

    Target.java

    1 package org.fool.dp.adapter;
    2 
    3 public interface Target {
    4     void request();
    5 }

    Adaptee.java

    1 package org.fool.dp.adapter;
    2 
    3 public class Adaptee {
    4     public void specificRequest() {
    5         System.out.println("adaptee specificRequest invoked...");
    6     }
    7 }

    Adapter.java

     1 package org.fool.dp.adapter;
     2 
     3 public class Adapter implements Target {
     4     private Adaptee adaptee;
     5 
     6     public Adapter(Adaptee adaptee) {
     7         this.adaptee = adaptee;
     8     }
     9 
    10     @Override
    11     public void request() {
    12         adaptee.specificRequest();
    13     }
    14 }

    Client.java

    1 package org.fool.dp.adapter;
    2 
    3 public class Client {
    4     public static void main(String[] args) {
    5         Target target = new Adapter(new Adaptee());
    6         target.request();
    7     }
    8 }
  • 相关阅读:
    数据库常用术语
    灾备模式的基本体系架构
    linux下的c++开发
    视图矩阵的推导-opengl应用
    抓包实例
    以软件推动工业进步 -嵌入式学习网站
    web 前端 转盘界面
    web 汇率
    xml
    高性能网站架构设计之缓存篇(4)- 主从复制
  • 原文地址:https://www.cnblogs.com/agilestyle/p/11401410.html
Copyright © 2011-2022 走看看