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

    作用:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。

    模式中的角色:

    目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。

    需要适配的类(Adaptee):需要适配的类或适配者类。

    适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。

    UML图:

    代码:

    /// <summary>
        /// 定义客户端期待的接口
        /// </summary>
        public class Target
        {
            /// <summary>
            /// 使用virtual修饰以便子类可以重写
            /// </summary>
            public virtual void Request()
            {
                Console.WriteLine("This is a common request");
            }
        }
    
        /// <summary>
        /// 定义需要适配的类
        /// </summary>
        public class Adaptee
        {
            public void SpecificRequest()
            {
                Console.WriteLine("This is a special request.");
            }
        }
    
        /// <summary>
        /// 定义适配器
        /// </summary>
        public class Adapter:Target
        {
            // 建立一个私有的Adeptee对象
            private Adaptee adaptee = new Adaptee();
    
            /// <summary>
            /// 通过重写,表面上调用Request()方法,变成了实际调用SpecificRequest()
            /// </summary>
            public override void Request()
            {
                adaptee.SpecificRequest();
            }
        }

    调用:

     // 对客户端来说,调用的就是Target的Request()
                Target target = new Adapter();
                target.Request();
  • 相关阅读:
    异常单据锁定涉及的数据库表
    用友通只启用核算模块
    一个迟到MM如何让老师疯掉的
    偷偷看,别笑出声啊
    安装时又提示删除程序
    自动折行的设置
    酒后百态新编 恶搞
    系统管理中“站点”“运行状态”的含义
    神经病女士银行取钱
    HDOJ 1017
  • 原文地址:https://www.cnblogs.com/nygfcn1234/p/3386023.html
Copyright © 2011-2022 走看看