经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » 设计模式 » 查看文章
结构型模式之适配器模式
来源:cnblogs  作者:yewen1234  时间:2018/12/10 9:42:12  对本文有异议

适配器模式(Adapter Pattern)又叫做变压器模式,变压器把一种电压变换为另一种电压。

定义:

  • 将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法一起工作的两个类能够在一起工作。

适配器模式就是将一个接口或类转换成其它的接口或类,适配器相当于一个包装器,类图如下所示。

适配器涉及以下3个角色。

  • 目标(Target)角色:定义要转换成的目标接口。
  • 源(Adaptee)角色:需要被转换成目标角色的源角色。
  • 适配器(Adapter)角色:是适配器模式的核心,其职责是通过继承或是类关联的方式,将源角色转换为目标角色。

Adaptee.java

  1. // 源角色
  2. public class Adaptee {
  3. public void specificRequest() {
  4. System.out.println("原有业务处理");
  5. }
  6. }

Target.java

  1. public interface Target {
  2. public void request();
  3. }

Adapter.java

  1. public class Adapter extends Adaptee implements Target {
  2. @Override
  3. public void request() {
  4. super.specificRequest();
  5. }
  6. }

Client.java

  1. public class Client {
  2. public static void main(String[] args) {
  3. // 适配器模式应用
  4. Target target = new Adapter();
  5. target.request();
  6. }
  7. }

优点:

  • 适配器模式可以让两个没有任何关系的类在一起运行。
  • 增加了类的透明性。
  • 提高了类的复用度。
  • 增强代码的灵活性。

使用场景:

  • 修改一个已经投产中的系统时,需要对系统进行扩展,此时使用一个已有的类,但这个类不符合系统中的接口,这时使用适配器模式是最合适的,它可以将不符合系统接口的类进行转换,转换成符合系统接口的、可以使用的类。

摘自:

青岛东合信息技术有限公司 . 设计模式(Java版) .  电子工业出版社,2012,83-85.

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号