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

    适配器模式

    适配器模式属于结构模式中的一种。

    适配器模式将一个类扥接口转化为客户希望的接口。适配器让接口彼此不兼容的类能互相协同工作。

    适配器模式也经常被称为wrapper模式。

    适配器模式主要含有几个实体:

    • Client :
    • Target : 客户端需要的类型接口;
    • Adapter : 将需要适配的类(Adaptee)转化为客户需要的目标类型(Target);
    • Adaptee : 需要被适配的类的类型接口;

    通常适配器模式可以采用继承和组合两种方式实现,一种是Adapter实现Target和Adaptee接口,另一种是Adapter实现Target并依赖一个Adaptee实例。

    UML类图

    • 继承模式

    这里写图片描述

    • 组合模式

    这里写图片描述

    实例

    
    public interface IAdaptee {
        void operation2();
    }
    
    
    public class AdapteeImpl implements IAdaptee {
    
        @Override
        public void operation2() {
            // TODO Auto-generated method stub
            System.out.println("AdapteeImpl is executing operation2()");
        }
    }
    
    public class Adapter extends AdapteeImpl implements ITarget {
    
        @Override
        public void operation1() {
            // TODO Auto-generated method stub
            operation2();
        }
    
    }
    
    public class Client {
        //客户端希望的接口类型
        interface ITarget {
            void operation1();
        }
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Client client = new Client();
            // client.myFunction(new AdapteeImpl());//现在AdapteeImpl是引用的第三方库,不能修改,但是有想要使用这个类
            ITarget adapter = new Adapter();
            client.myFunction(adapter);
        }
    
        public void myFunction(ITarget obj) {
            obj.operation1();
        }
    
    }

    References

    1. 《设计模式:可复用面向对象软件的基础》
  • 相关阅读:
    linux下安装MongoDB
    Prometheus+Grafana企业监控系统
    微服务项目运维管理
    Jenkins CI&CD 自动化发布项目实战(上篇)
    Docker入门与进阶(下)
    Docker入门与进阶(上)
    Git&Gitlab开发流程与运维管理
    报名中|面基啦~首站深圳线下云原生技术开放日来了
    kubernetes 降本增效标准指南| 容器化计算资源利用率现象剖析
    使用 Velero 跨云平台迁移集群资源到 TKE
  • 原文地址:https://www.cnblogs.com/Spground/p/9567887.html
Copyright © 2011-2022 走看看