当前位置:   article > 正文

java 24种设计模式之五适配器模式_适配器要实现的主要的类

适配器要实现的主要的类

模式的结构与实现

1. 模式的结构

适配器模式(Adapter)包含以下主要角色。

  1. 目标(Target)接口:当前系统业务所期待的接口,它可以是抽象类或接口。
  2. 适配者(Adaptee)类:它是被访问和适配的现存组件库中的组件接口。
  3. 适配器(Adapter)类:它是一个转换器,通过继承或引用适配者的对象,把适配者接口转换成目标接口,让客户按目标接口的格式访问适配者。


类适配器模式的结构图如图 1 所示。

对象适配器模式的结构图如图 2 所示。

2. 类适配器模式实现

1.目标接口

  1. package java设计模式.适配器模式.类适配器;
  2. public interface Target {
  3. public void request();
  4. }

2.适配者编写

  1. package java设计模式.适配器模式.对象适配器;
  2. public class Adaptee {
  3. public void specificRequest(){
  4. System.out.println("对象适配者被调用");
  5. }
  6. }

3.适配器编写

  1. package java设计模式.适配器模式.对象适配器;
  2. public class Adaptee {
  3. public void specificRequest(){
  4. System.out.println("对象适配者被调用");
  5. }
  6. }

4.测试类client

  1. package java设计模式.适配器模式.类适配器;
  2. public class Client {
  3. public static void main(String[] args) {
  4. Target target = new ClassAdapter();
  5. target.request();
  6. }
  7. }

3. 对象适配器模式实现

1.目标接口

  1. package java设计模式.适配器模式.对象适配器;
  2. public interface Target {
  3. public void request();
  4. }

2.适配者

  1. package java设计模式.适配器模式.对象适配器;
  2. public class Adaptee {
  3. public void specificRequest(){
  4. System.out.println("对象适配者被调用");
  5. }
  6. }

3.适配器

  1. package java设计模式.适配器模式.对象适配器;
  2. public class ObjectAdapter implements Target{
  3. private Adaptee adaptee;
  4. public ObjectAdapter(Adaptee adaptee) {
  5. this.adaptee = adaptee;
  6. }
  7. @Override
  8. public void request() {
  9. System.out.println("对象适配器被调用");
  10. adaptee.specificRequest();
  11. }
  12. }

4.测试类client

  1. package java设计模式.适配器模式.对象适配器;
  2. public class Clinet {
  3. public static void main(String[] args) {
  4. Adaptee adaptee = new Adaptee();
  5. Target target = new ObjectAdapter(adaptee);
  6. target.request();
  7. }
  8. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/828895
推荐阅读
相关标签
  

闽ICP备14008679号