• 适配器模式


    版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/u012516914/article/details/37613151

    适配器模式的定义:将一个类的接口变成还有一个client所期待的的接口,从而使原本因接口不匹配而无法在一起工作的两个类都能在一起工作。

    1:目标角色:把其它类转成何种接口,也就是我们期望的接口。

    package adapter;
    
    public interface Target {
    	//目标角色有自己的方法
    	public void request();
    }
    

    package adapter;
    
    public class ConcreteTarget implements Target{
    
    	@Override
    	public void request() {
    		System.out.println("please help me!!!");
    	}
    
    }
    



    2:Adaptee元角色,你想把谁转成目标角色。这个谁就是原角色。它是已经存在的或者执行良好的类或者对象,经过适配器的包装,他会成为一个全新的角色。

    package adapter;
    
    public class Adaptee {
    	//原有的业务逻辑
    	public void doSomething(){
    		System.out.println("I'm too!!!");
    	}
    }
    

    3:适配器角色:适配器角色是核心角色。其它两个角色都已经存在,而适配器角色是新建立的他指责很easy。把原角色转换成目标角色。通过继承或者类关联的方式

    package adapter;
    
    public class Adapter extends Adaptee implements Target{
    
    	@Override
    	public void request() {
    		super.doSomething();
    	}
    	
    }
    

    模仿client

    package adapter;
    
    public class Client {
    	public static void main(String[] args) {
    		//原有的业务逻辑
    		Target target = new ConcreteTarget();
    		target.request();
    		//添加适配器之后的业务逻辑
    		Target target2 = new Adapter();
    		target2.request();
    	}
    }
    


  • 相关阅读:
    Codeforces Round #375 (Div. 2) A. The New Year: Meeting Friends 水题
    Codeforces Round #372 (Div. 1) A. Plus and Square Root 数学题
    Codeforces Round #371 (Div. 1) C. Sonya and Problem Wihtout a Legend 贪心
    Codeforces Round #371 (Div. 1) D. Animals and Puzzle 二维倍增
    BZOJ 4706: B君的多边形 找规律
    HDU 5909 Tree Cutting 动态规划 快速沃尔什变换
    Codeforces Round #284 (Div. 1) A. Crazy Town 计算几何
    HDU 5908 Abelian Period 暴力
    HDU 5907 Find Q dp
    Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) D. Generating Sets 贪心
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10901457.html
  • Copyright © 2020-2023  润新知