android设计模式——适配器模式

定义:适配器模式就是把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配的而无法工作的两个类能够一起工作

使用场景:

  1. 系统要使用现有的类,但此类的接口不符合系统的需要,即接口不兼容。
  2. 想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关系的一些类,包括一些可能在将来引进的类一起工作
  3. 需要一个统一的输出接口,而输入端的类的类型不可预知

应用举例:美国电器 110V,中国 220V,就要有一个适配器将 110V 转化为 220V。

类图:

  1. Traget,目标角色,也就是所期待的接口
  2. Adaptee,需要适配的接口
  3. Adapter,适配器角色,把源接口转换成目标接口,必须是具体的类

关键代码:适配器继承或依赖已有的对象,实现想要的目标接口。

优点:

  1. 可以让任何两个没有关联的类一起运行。
  2. 提高了类的复用。
  3. 增加了类的透明度。
  4. 灵活性好。

缺点:

  1. 过多地使用适配器,会让系统非常零乱,不易整体进行把握。比如,明明看到调用的是 A 接口,其实内部被适配成了 B 接口的实现,一个系统如果太多出现这种情况,无异于一场灾难。因此如果不是很有必要,可以不使用适配器,而是直接对系统进行重构。
  2. 由于 JAVA 至多继承一个类,所以至多只能适配一个适配者类,而且目标类必须是抽象类。
interface FiveVolt {
	public int getVolt5();
}
//需要适配的接口
 class Volt220{
	 public int getVolt220() {
		 return 220;
	 }
	 
 }
 //适配器
 class VoltAdapter extends Volt220 implements FiveVolt{
	

	@Override
	public int getVolt5() {
		// TODO 自动生成的方法存根
		return 5;
	}
 }
public static void main(String[] args) {
		
		
		VoltAdapter adapter = new VoltAdapter();
		System.out.println("输出电压:"+adapter.getVolt5());
				
	}

猜你喜欢

转载自blog.csdn.net/l1094125040/article/details/83514063