设计模式-适配器模式


                                                         设计模式之适配器模式


概述


将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

适用性


1.你想使用一个已经存在的类,而它的接口不符合你的需求。

2.你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。

3.(仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。

参与者


1.Target
      定义Client使用的与特定领域相关的接口。

2.Client
  与符合Target接口的对象协同。

3.Adaptee
   定义一个已经存在的接口,这个接口需要适配。

4.Adapter
   对Adaptee的接口与Target接口进行适配

类图


                                           设计模式-适配器模式_第1张图片


例子

Target:
package com.ywx.target;

public interface Target {
	public void adapteeMethod();
	public void adapterMethod();
}


Adaptee:

package com.ywx.adaptee;

public class Adaptee {
	public void adapteeMethod(){
		System.out.println("Adaptee Method!");
	}
}

Adapter:

package com.ywx.adapter;

import com.ywx.adaptee.Adaptee;

public class Adapter {
	private Adaptee adaptee;
	
	public Adapter(Adaptee adaptee){
		this.adaptee = adaptee;
	}
	
	public void adapteeMethod(){
		adaptee.adapteeMethod();
	}
	public void adapterMthod(){
		System.out.println("Adapter Method!");
	}

}

Client:

package com.ywx.client;

import com.ywx.adaptee.Adaptee;
import com.ywx.adapter.Adapter;

public class Test {
	public static void main(String[] args) {
		Adapter target = new Adapter(new Adaptee());
		
		target.adapteeMethod();
		target.adapterMthod();
	}
}


运行结果:

Adaptee Method!
Adapter Method!



你可能感兴趣的:(设计模式-适配器模式)