设计模式笔记之七适配器模式

适配器模式

为什么引入适配器模式

在生活中,我们使用的电器中,有的电压小于标准电压,这个时候,如果我们想使用该电器,我们通常的做法是使用一个变压器,将变压降低到该电器能够使用的电压,我们使用变压器将接口进行转化,将产生过大变压的接口转化为该电器可以使用的电压接口,这个变压器就是适配器。

适配器模式是什么

将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,别名为包装器。

核心思想

定义一个目标抽象类来定义客户所需接口,可以是一个抽象类或接口,然后定义一个适配器类,适配器可以调用另一个接口,作为一个转换器,对所需的接口进行适配,最后定义一个适配者类,即被适配的角色。

具体案例

我们有一个加密程序,现在有一个第三方库,需要进行加密,只不过还是使用原有的加密程序。要重用已有的加密算法,这些算法封装在第三方提供的类中,使用适配器模式设计加密模块。

UML:

代码

package com.dong.adaptor;

public interface EncryptionOperation {
	public void encryption();
}

package com.dong.adaptor;

public class Encryption {
	public void newEncryptionMethod() {
		System.out.println("use the new encryption");
	}
}

package com.dong.adaptor;

public class OperationEncryption implements EncryptionOperation {

	private Encryption encryption;
	
	public OperationEncryption() {
		this.encryption = new Encryption();
	}

	@Override
	public void encryption() {
		encryption.newEncryptionMethod();
	}

}

package com.dong.adaptor;

public class client {
	public static void main(String[] args) {
		OperationEncryption oe = new OperationEncryption();
		oe.encryption();
	}
}

优点

实现接口的转化,实现对原有接口的转接。

灵活,扩展性好。

缺点

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值