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

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

    在软件开发中,系统的数据和行为都正确。但是接口不符时,我们考虑使用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要用于希望复用一些现存的类,但是接口与复用环境要求不一致的情况。

    /// <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();
            }
        }


    class Program
        {
            static void Main(string[] args)
            {
                // 对客户端来说,调用的就是Target的Request()
                Target target = new Adapter();
                target.Request();
    
                Console.Read();
            }
        }

    http://www.cnblogs.com/wangjq/archive/2012/07/09/2582485.html

  • 相关阅读:
    R语言基础入门
    调用arcpy包批量进行矢量掩膜提取
    一些js面试高频知识点的总结
    js实现五子棋人机对战源码
    编程题汇总,持续更新
    颜色字符串转换
    根据包名,在指定空间中创建对象
    JavaScript中[]+[] 、[]+{}、{}+[]、{}+{}的结果分析
    CSS命名规范
    谈谈浏览器的兼容性
  • 原文地址:https://www.cnblogs.com/suzixuan/p/7040623.html
Copyright © 2011-2022 走看看