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

                HeadFirst中的定义:适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。

            适配器模式将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能在一起 工作的类可以在一起工作。
                目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类也可以是接口。
                需要适配的类(Adaptee):需要适配的类或适配者类。
                适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标对象。
                使用场景:旧系统的改造和升级。
                              JavaIO中的转换流:java.io.InputStreamReader(InputStream)
                                  java.io.OutputStreamReader(OutputStream)

               Demo:

    public class Adaptee {
    	public void request() {
    		System.out.println("满足了客户端的需求");
    	}
    
    }
    
    public interface Target {
    	void handleReq();
    
    }
    
    public class Adapter implements Target {
    	Adaptee adaptee = new Adaptee();
    	@Override
    	public void handleReq() {
    		adaptee.request();
    	}
    	
    	public Adapter(Adaptee adaptee) {
    		this.adaptee = adaptee;
    	}
    	
    }
    
    public class Client {
    	public void linkReq(Target target) {
    		target.handleReq();
    	}
    	
    	public static void main(String[] args) {
    		Adaptee adaptee = new Adaptee();   //客户需要的,被适配的对象
    		
    		Target adapter = new Adapter(adaptee);//被适配的对象与适配器耦合
    		
    		Client client = new Client();
    		
    		client.linkReq(adapter);//客户端与适配器的接口耦合
    	}
    }
    
  • 相关阅读:
    Power BI
    Power BI
    gulp的常用api
    关于promise
    webapp思路和rem适配极其viewport
    react初识
    node基础再现--module.exports 和exports
    sublime的js调试环境(基于node环境)
    题解 poj2778 DNA Sequence
    题解 TJOI/HEOI2016 字符串
  • 原文地址:https://www.cnblogs.com/wxisme/p/4522632.html
Copyright © 2011-2022 走看看