zoukankan      html  css  js  c++  java
  • 设计模式之 适配器模式

    存在一种情况如下:客户端需要调用一个已经存在的A类的行为,但该类与目前使用的相关(B、C)类实现了不同的接口,为了保持统一,客户希望可以使用统一的接口。适配器模式引入了Adaper类,该类实现了与B、C类相同的接口,且封装了A类的行为,客户端可以等同的看到B、C和Adaper类。

    实例:设有三个人:外国人Tom(实现接口IPerson);中国人张三(实现接口IPerson):外星人Extraterrestrial,他们分别要作自我介绍,Tom和张三具有相同的接口,他们自我介绍时使用方法Speak,而外星人没有实现IPerson接口,没有方法Speak,不过他有自己自我介绍的方法,叫“噢噢”;客户端并不关心谁是中国人,谁是外国人,谁是外星人,他们希望统一的使用Speak方法,这时就需要一个Adpater类来转换一下。实例代码如下:

    IPerson接口:


     public interface IPerson
        {
            
    string Speak();
        }

    Tom类:

    Code

    张三类:

    Code

    外星人:

    Code

    Adaper类:

    Code

    客户端:

    Code
  • 相关阅读:
    一个关于java线程的面试题
    【Feature】初探Feature
    Foreign Keys in the Entity Framework
    JS keycode
    SQLyog8.3 . 8.4 Enterprise/Ultimate crack
    Win7下使用toad连接oracle出现can't initialize OCI 1
    ADO 数据类型转换表
    简单Jscript(ASP)模版操作文件
    自适应宽度的左右结构DIV+CSS
    一个比较好用的 classic asp Jscript 框架 SmartAsp
  • 原文地址:https://www.cnblogs.com/zzy0471/p/1611231.html
Copyright © 2011-2022 走看看