zoukankan      html  css  js  c++  java
  • [Design] Adapter Pattern

    结构模式 

      结构模式描述如何将类或者类的对象结合在一起形成更大的结构。

      结构模式描述两种不同的东西:类与类的实例。结构模式可以分为:类的结构模式和对象的结构模式两种。

      类的结构模式:类的结构模式使用继承来把类、接口等组合在一起,以形成更大的结构。类的结构模式是静态的,比如类形式的适配器模式。

      对象的结构模式:对象的结构模式描述怎么样把不同类型的对象组合在一起,以实现新的功能的方法。对象的结构模式是动态的。比如代理人模式。

     
    1.  适配器模式

      适配器模式(Adapter Pattern)把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够一起工作。

    用意是将接口不同而功能相同或者相近的两个接口加以转化。

    适配器模式有类的适配器模式和对象的适配器。

    类的适配器模式
      类的适配器模式是使用继承关系把被适配类的API 转化成目标类的API,适配模式是静态的。
    结构图及角色:


    1. 目标角色
      所期待得到的接口。注意类的适配器模式,目标不可以是类。

    2.  源角色
      现在需要适配的接口。

    3. 适配器角色
      此角色是模式的核心。适配器角色把源接口转换成目标接口。显然这一角色不可以是接口,而必须是具体类。

    对象的适配器模式
      与类的适配器模式不同,对象的适配器模式不是使用继承关系连接到目标,而是使用委派关系。这决定这个适配器模式是对象的。
    结构图及角色:


    1.  目标角色
      所期待的角色,目标可以是具体的或抽象的类。
    2. 源角色
      现有需要适配的接口。
    3. 适配器角色
      本模式的核心。把源接口转换成目标接口,显然必须是具体类。

  • 相关阅读:
    js遍历删除对象的key
    MYBATIS XML SQL 结果为MAP类型时,KEY为大小问题解决
    Ubuntu SSH 失败
    Navicat 连接 Oracle Docker容器镜像报错:TNS:listener: all appropriate instances are blocking new connections
    Mybatis 定义 Oracle 存储过程,并获取存储输出字符串信息
    python基础之---else(十)
    python基础之---循环简介(九)
    python基础之---条件语句(八)
    python基础之---运算符(七)
    python基础之---转换数据类型(六)
  • 原文地址:https://www.cnblogs.com/abeen/p/1437593.html
Copyright © 2011-2022 走看看