`
kang
  • 浏览: 474360 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

结构模式之双向适配器模式1

 
阅读更多

双向适配器模式

 

 

A 模块与 B 模块

 

举例: PowerPoint A ,字体管理器窗口是 B

 

A 中某一页面选择一段文字,右击选择“字体”,则字体管理器窗口跳出( A B 产生了影响)。在字体管理器窗口设置过字体的属性后,点击“确定”, A 中这一段文字的字体产生相应的变化( B A 产生了影响)。

 

上面就是一个使用双向适配器模式的例子。

 

 

 

下面例子程序的说明,请参考本文最后的一张截图。

 

 

package com.javaeye.kang.adapter;

 

/**

  * 双向适配器模式

  *

  */

class A {

      public void funA1() {

            System. out .println( "A.funA1()" );

      }

      public void funA2() {

            System. out .println( "A.funA2()" );

      }

}

 

class B {

      public void funB1() {

            System. out .println( "B.funB1()" );

      }

      public void funB2() {

            System. out .println( "B.funB2()" );

      }

}

 

// A B ,将 AB 当成 A B 来使用

class AB {

      private A a ;

      private B b ;

     

      public void setA(A a) {

            this . a = a;

      }

      public void setB(B b) {

            this . b = b;

      }

     

      // 功能

      //A 用了 A funA1() 方法后,同 时调 B funB2() 方法

      public void funA1() {

            a .funA1();

            b .funB1();

      }

      //B 用了 B funB2() 方法后,同 时调 A funA2() 方法

      public void funB2() {

            b .funB2();

            a .funA2();

      }

}

 

public class AdapterTest {

      public static void main(String []args) {

            AB ab = new AB();

            // 入两个 的引用

            ab.setA( new A());

            ab.setB( new B());

            // 端使用

            ab.funA1();

            ab.funB2();

      }

}

测试结果:

A.funA1()

B.funB1()

B.funB2()

A.funA2()

 

 

  • 描述: 更进一步的适配器
  • 大小: 73.9 KB
分享到:
评论

相关推荐

    实验7 适配器模式、外观模式与模板方法模式

    **适配器模式(Adapter Pattern)** 是一种结构型设计模式,它允许不兼容的接口之间能够协同工作。适配器模式的主要作用是通过创建一个新的适配器类来包装现有类的接口,使其满足客户端的接口需求。 ##### 实现案例:...

    结构型模式之适配器模式

    适配器模式是一种结构型设计模式,它的核心目的是在接口不兼容的情况下,使两个原本无法协同工作的对象能够一起工作。适配器模式通过创建一个转换器(适配器),将一个类的接口转换成客户期望的另一个接口。这种模式...

    实现一个适配器实例,使得猫(Cat)可以学狗(Dog)叫

    适配器模式是一种结构型设计模式,它的主要目的是解决两个不兼容的接口之间的交互问题。适配器将一个类的接口转换为客户期望的另一个接口,使原本由于接口不兼容而不能一起工作的那些类可以协同工作。在这个例子中...

    Python设计模式编程中Adapter适配器模式的使用实例

    在Python编程中,适配器模式是一种非常实用的设计模式,它允许不同的接口或类之间进行交互,即使它们的结构不兼容。适配器模式的主要目的是解决原有类的接口与现有需求之间的冲突,使得原本不能协作的类能够协同工作...

    java常用数据结构及算法集锦

    结构模式 代理模式 外观模式 适配器模式 装饰模式 组合模式 享元模式 桥接模式 行为模式 观察者模式 模板方法模式 策略模式 命令模式 调停者模式 备忘录模式 解释器模式 迭代器模式 状态模式 责任链模式 访问者...

    c#设计模式期末文档

    1. **双向适配器模式** 双向适配器模式是一种结构型设计模式,它允许不兼容的接口互相操作。在提供的代码示例中,`Adapter` 类实现了 `Target` 和 `Adaptee` 接口,使得原本不兼容的接口可以通过适配器进行通信。`...

    设计模式图示,帮助学习设计模式

    2. **结构模式**: - **外观模式(Facade)**:为子系统的一组接口提供一个一致的高层接口,使得子系统更容易被使用。 - **代理模式(Proxy)**:为其他对象提供代理以控制对该对象的访问,例如在访问前添加权限...

    设计模式2018.rar

    "SDP03-01之双向适配器.docx"则涉及结构型设计模式中的双向适配器,这种模式可以将两个接口转换为彼此兼容,使得原本不兼容的类可以协同工作。 "SDP03-07静态代理和动态代理.doc"涵盖了代理模式,代理模式为其他...

    设计模式实战、jdk源码|simple-demo.zip

    再如`java.util.ArrayList`和`java.util.LinkedList`,它们分别使用了动态数组和双向链表实现,体现了两种不同的数据结构,同时也展示了适配器模式和组合模式的概念。 在实战中,设计模式的应用无处不在。例如,当...

    Java和Android源码设计模式

    - **结构型模式**包括适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式和享元模式。这些模式关注于如何组合类或对象以获得更大的灵活性。 - **适配器模式**:将一个类的接口转换成客户希望的另一个...

    Java设计模式精讲1

    结构型模式涉及类和对象的组合,它能够帮助我们将不同的类和对象组合成更大的结构,如适配器、桥接、组合、装饰者、外观、享元和代理模式。行为型模式主要关注对象间的通信,通过模式使这些通信更加清晰和灵活,例如...

    CAN总线适配器

    - **网络拓扑结构**:支持线型、星型、树型等多种拓扑结构。 - **传输速率**:RS232/RS485/RS422支持1200至57600BPS,CAN总线支持5K至1MBPS。 - **传输介质**:采用屏蔽或非屏蔽双绞线作为物理层传输介质。 - **总线...

    UML类图及、7大设计原则、23种设计模式

    结构型模式涉及类或对象的组合,以形成更大的结构,例如适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式和代理模式。行为型模式关注对象之间的通信,规定了对象的行为,包括策略模式、模板方法模式、...

    设计模式结构型模式

    1. **适配器模式**:适配器模式允许两个不兼容的接口协同工作。适配器模式主要有三种形式:对象适配器、类适配器和双向适配器。适配器类作为转换器,将Adaptee的接口转换为客户期望的Target接口。对象适配器通过关联...

    23种设计模式23种设计模式

    适配器模式(Adapter) - **定义**:将一个类的接口转换成客户希望的另一个接口。 - **应用场景**:用于现有类和客户类接口不兼容的情况。 #### 7. 桥接模式(Bridge) - **定义**:将抽象部分与它的实现部分分离...

    初中级Android开发社招面试之设计模式.pdf

    - Android中的设计模式实例:AlertDialog和Notification使用建造者模式,Okhttp利用责任链模式,RxJava运用观察者模式,BaseActivity体现抽象工厂模式,GridView的适配器模式,Intent使用原型模式。 6. 单例模式:...

    基于LinkedList高性能android列表适配器

    LinkedList是一种双向链表数据结构,与ArrayList相比,它在插入和删除操作上具有更好的性能,但在随机访问元素时效率较低。 **1. Android列表控件:RecyclerView与ListView** - **RecyclerView**:是Android 5.0...

    设计模式+STL代码示例

    - **适配器模式**:使两个不兼容的接口能够协同工作,通过创建一个适配器类,将旧接口转换为新接口的形式。 2. **STL(标准模板库)**: - **容器**:STL中的容器如vector、list、deque、set、map等,它们提供了...

    常用的数据结构,算法,设计模式的积累。.zip

    6. 适配器模式:将一个类的接口转换成客户期望的另一个接口,使原本由于接口不兼容而不能一起工作的类能够协同工作。 7. 模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。 熟练掌握这些数据...

    设计模式解析复习提纲

    - **结构型模式**:包括适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式和代理模式。 - **行为型模式**:包括职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式...

Global site tag (gtag.js) - Google Analytics