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 }
  • 相关阅读:
    线性判别分析(LDA)
    奇异值分解(SVD)
    傅里叶变换
    SVM 之非线性支持向量机
    三角函数常用公式
    协方差、样本协方差和协方差矩阵
    方差和样本方差
    SVM 之线性支持向量机
    参考资料汇总
    QObject: Cannot create children for a parent that is in a different thread
  • 原文地址:https://www.cnblogs.com/agilestyle/p/11401410.html
Copyright © 2011-2022 走看看