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

  • 相关阅读:
    js 获取浏览器版本号
    怎样写具体设计文档
    android PreferenceScreen使用笔记
    支持向量机通俗导论(理解SVM的三层境地)
    算法导论 第6章 堆排序(简单选择排序、堆排序)
    人脸识别算法初次了解
    循环队列
    ubuntu 下操作文件夹,出现Permission denied的解决的方法
    JFreeChart的使用
    隐藏Activity标题栏
  • 原文地址:https://www.cnblogs.com/suzixuan/p/7040623.html
Copyright © 2011-2022 走看看