zoukankan      html  css  js  c++  java
  • java design pattern

    场景

    在编程中我们经常会遇到驴头不对马嘴的情况,比如以前是继承A的接口的对象,现在外部调用的时候需要该对象已B接口的形式来调用
    ,这个时候我们可以让对象同时集成A和B接口来达到目的,不过,这样又违反了开闭原则,这个时候我们可以使用适配器模式来达到目的。

    适配器模式

    适配器模式是一种结构模式,可以帮助我们把对象以不同的接口方式来调用。主要由3个角色组成:

    • Target 外部调用要求的接口方式
    • Adapter 中间用来协调的适配器
    • Adaptee 原始对象

      首先,我们让Adapter继承实现Target接口,其次在Adapter中构造Adaptee对象,然后在Target方法中调用Adaptee中相应的方法。过程非常简单。

    adapter pattern

    下面是适配器模式的一个简单实现:

      public interface Target {
        void request();
     大专栏  java design pattern - adapter pattern}
    
      public class Adaptee {
        public void doSomething() {
            System.out.println("Adaptee doSomething!!!");
        }
      }
    
      public class Adapter implements Target {
        private Adaptee adaptee;
    
        public Adapter(Adaptee adaptee) {
            this.adaptee = adaptee;
        }
    
        @Override
        public void request() {
            this.adaptee.doSomething();
        }
      }
    
      public class Test {
        public static void main(String[] args) {
            Target target = new Adapter(new Adaptee());
            target.request();
        }
      }
    

    总结

    适配器是一种非常简单的设计模式,一般是用来在后期调用时发现对象的接口不匹配的时候使用,相当于一种“补充”的手段
    在双方都不太容易修改的时候可以使用适配器模式。
    

    参考资料

    Adapter pattern

    Design Patterns - Adapter Pattern

  • 相关阅读:
    sql 查询多列 小于某值
    C#读取EXCEL 并输出到文本框
    字典
    MVC 接收文件
    C# DataTable 转 json
    MVC 返回json数据
    C# 获得指定路径扩展名 , 去除扩展名
    C# 分割URL地址
    sql语句参数化问题
    VC++学习之网络编程中的套接字
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12276092.html
Copyright © 2011-2022 走看看