专业的JAVA编程教程与资源

网站首页 > java教程 正文

设计模式系列-结构型-适配器模式

temp10 2024-11-26 09:00:23 java教程 16 ℃ 0 评论
  1. 什么是适配器模式?
    适配器模式是一种设计模式,它允许一个类的接口与另一个类的接口不兼容的情况下,实现互操作性。它通过将一个类的接口转换成客户希望的另一个接口,来使原本接口不匹配的类可以一起工作。
  2. 适配器模式的组成
    适配器模式由以下几个部分组成:
    (1)目标(Target):定义客户所期望的接口;
    (2)客户(Client):与目标对象协同工作;
    (3)适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口;
    (4)被适配者(Adaptee):需要适配的类。
  3. 适配器模式的例子
    假设我们有一个接口,它定义了一个方法,用于获取一个字符串:
public interface StringRetriever {
    String getString();
}
  • 现在,我们有一个类,它实现了另一个接口,该接口定义了一个方法,用于获取一个整数:
  • public class IntegerRetriever implements IntegerRetriever {
        public int getInteger() {
            return 42;
        }
    }
    
  • 我们可以使用适配器模式来让这两个接口可以一起工作:
  • public class IntegerToStringAdapter implements StringRetriever {
        private IntegerRetriever integerRetriever;
        public IntegerToStringAdapter(IntegerRetriever integerRetriever) {
            this.integerRetriever = integerRetriever;
        }
        @Override
        public String getString() {
            return String.valueOf(integerRetriever.getInteger());
        }
    }
    
  • 现在,我们可以使用IntegerToStringAdapter来获取一个字符串:
  • IntegerRetriever integerRetriever = new IntegerRetriever();
    StringRetriever stringRetriever = new IntegerToStringAdapter(integerRetriever);
    String str = stringRetriever.getString();
    
    1. 适配器模式的优缺点
      适配器模式的优点:
      (1)可以让两个接口不兼容的类一起工作;
      (2)可以提高类的复用性;
      (3)可以增加类的透明性;
      (4)灵活性非常好。
      适配器模式的缺点:
      (1)过多的使用适配器,会让系统非常零乱,不易整体把握;
      (2)由于JAVA至多继承一个类,所以至多只能适配一个适配者类,而且目标类必须是抽象类。
    2. 常用的场景
      适配器模式常用于以下场景:
      (1)当希望使用一个已经存在的类,而它的接口不符合系统的需要时;
      (2)想要创建一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作时。
      总结:
      本文介绍了Java中的适配器模式,包括它的组成、UML图、例子、优缺点以及常用的场景。适配器模式可以让两个接口不兼容的类一起工作,提高类的复用性,增加类的透明性,灵活性非常好,但是过多的使用会让系统非常零乱,不易整体把握,而且由于JAVA至多继承一个类,所以至多只能适配一个适配者类,而且目标类必须是抽象类。适配器模式常用于当希望使用一个已经存在的类,而它的接口不符合系统的需要时,以及想要创建一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作时。

    本文暂时没有评论,来添加一个吧(●'◡'●)

    欢迎 发表评论:

    最近发表
    标签列表