zoukankan      html  css  js  c++  java
  • 基于设计模式的学习之旅适配器模式(附源码)

          基于设计模式的学习之旅-----适配器模式

    1、初始适配器模式

    2什么是适配器模式

    将一个类的接口转换成客户希望的另外一个接口。 A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

    别名:包装器 Wr a p p e r

    Adapter模式最关键的要求是:Adapter是对两个功能相近的接口间的适配

    3、模式结构图

    类适配器使用多重继承对一个接口与另一个接口进行匹配,如下图所示

    对象匹配器依赖于对象组合,如下图所示

    4模式代码事例

    41涉及到的类,以及类图

    TargetISpecialSwitchable

    ClientPatternRun

    AdapteeIStandardSwitchable

    AdapterSwitcherAdapter

    42具体的代码实现

    ISpecialSwitchable

    IStandardSwitchable

    Light

    SwitcherAdapter

    PatternRun

    43事例输出结果

    5、模式参与者

    TargetISpecialSwitchable

    ClientPatternRun

    AdapteeIStandardSwitchable

    AdapterSwitcherAdapter

    6、模式优缺点

    A、用一个具体的A d a p t e r类对A d a p t e eTa rg e t进行匹配。

    B、使得A d a p t e r可以重定义A d a p t e e的部分行为,因为A d a p t e rA d a p t e e的一个子类。

    C、仅仅引入了一个对象,并不需要额外的指针以间接得到 a d a p t e e

    7模式适用性

    A你想使用一个已经存在的类,而它的接口不符合你的需求。

    B 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。

    C(仅适用于对象A d a p t e r)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。

    点击下载“文档以及源码下载

    欢迎转载,请注明出处“http://www.cnblogs.com/luxiaofeng54/archive/2013/04/05/3000371.html

  • 相关阅读:
    [java]Java中父类强制转换成子类的原则
    基于 JWT + Refresh Token 的用户认证实践
    [java]idea设置及debug使用
    [java]Class类和Object类的关系
    [java]文件操作
    [java]javabean
    [java]string类型
    [java]求数据的hmac sha1的并用base64编码
    java 多线程——一个定时调度的例子
    设计模式 4 —— 迭代器和组合模式(组合)
  • 原文地址:https://www.cnblogs.com/luxiaofeng54/p/3000371.html
Copyright © 2011-2022 走看看