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

    适配器模式

    将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。

    ● Target目标角色:该角色定义把其他类转换为何种接口,也就是我们的期望接口。
    ● Adaptee源角色:你想把谁转换成目标角色,这个“谁”就是源角色,它是已经存在的、运行良好的类或对象,经过适配器角色的包装,它会成为一个崭新、靓丽的角色。
    ● Adapter适配器角色:适配器模式的核心角色,其他两个角色都是已经存在的角色,而适配器角色是需要新建立的,它的职责非常简单:把源角色转换为目标角色,怎么转换?通过继承或是类关联的方式。

     /// <summary>
        /// 目标角色
        /// </summary>
        public interface Target
        {
            void request();
    
        }
        /// <summary>
        /// 目标角色实现类
        /// </summary>
        public class ConcreteTarget : Target
        {
            public void request()
            {
                Console.WriteLine("Concrete1");
            }
        }
        /// <summary>
        ///源角色
        /// </summary>
        public class Adaptee
        {
            public void dosomething()
            {
                Console.WriteLine("hi");
            }
        }
        /// <summary>
        /// 适配器角色
        /// </summary>
        public class Adapter : Adaptee, Target
        {
            public void request()
            {
                base.dosomething();
            }
        }
     static void Main(string[] args)
            {
                Target target = new ConcreteTarget();
                target.request();
                target = new Adapter();
                target.request();
            }

    适配器模式的使用场景
    适配器应用的场景只要记住一点就足够了:你有动机修改一个已经投产中的接口时,适配器模式可能是最适合你的模式。比如系统扩展了,需要使用一个已有或新建立的类,但这个类又不符合系统的接口,怎么办?使用适配器模式,这也是我们例子中提到的。

  • 相关阅读:
    【用程序思维学习英语】
    【python3】修饰器简单理解
    【FLASK】发送QQ邮件
    【FLASK】数据库迁移
    【python3】with的用法
    【flask】工厂函数和蓝本的作用
    使用Python中的xltpl模块填充excel表格模板文件
    Python添加excel表格的批注
    在原有表格基础上面进行添加内容修改格式等操作
    Python操作excel表格库的介绍
  • 原文地址:https://www.cnblogs.com/zhangzhi19861216/p/4971823.html
Copyright © 2011-2022 走看看