• 适配器模式 -- 大话设计模式


    在今天,读书有时是件“麻烦”事。它需要你付出时间,付出精力,还要付出一份心境。--仅以《大话设计模式》来祭奠那逝去的……

    适配器模式:将一个类的接口转换成客户希望的另外一个接口,主要应用于希望复用一些现存类,但接口又与复用环境要求不一致的情况

    适配器模式分为类适配器模式和对象适配器模式,但是由于主流语言C#、Java等不支持多重继承,因此多使用对象适配器模式

    1.适配器模式应用

      将源接口转换成目标接口,及客户想要的接口

      定义抽象适配类,及客户想要的接口

        /// <summary>
        /// 抽象适配类(客户所期待的接口)
        /// </summary>
        public abstract class Target
        {
            public abstract void Request();
        }
    

       定义现存类

        /// <summary>
        /// 现存业务类(需要适配的类)
        /// </summary>
        public class Adaptee
        {
            public void SpecificRequest()
            {
                Console.WriteLine("特殊请求");
            }
        }
    

       定义具体适配类,将源接口转换成目标接口

        /// <summary>
        /// 具体适配类(将源接口转换成目标接口)
        /// </summary>
        public class Adapter : Target
        {
            private Adaptee adaptee = new Adaptee();//内置一个私有的现存类
    
            /// <summary>
            /// 表面上调用的是客户要求的接口,但真正执行的是现存类的方法
            /// </summary>
            public override void Request()
            {
                adaptee.SpecificRequest();
            }
        }
    

       开启场景模拟

            static void Main(string[] args)
            {
                Target t = new Adapter();
    
                t.Request();
            }
    
  • 相关阅读:
    VsCode 各场景高级调试与使用技巧
    rust type
    解决Chrome浏览器控制台请求返回值中的中文显示为乱码的问题
    js 固定时间运行任务
    rust 泛型
    根据值选择
    js reload window.onerror
    rust 个例
    rust index
    rust return impl Trait
  • 原文地址:https://www.cnblogs.com/amywechat/p/4926673.html
Copyright © 2020-2023  润新知