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

    xxxVideo

        public sealed class PornAdaptee
        {
            public void Watch(Guid videoId)
            {
                Console.WriteLine($"查看视频{videoId.ToString()}");
            }
    
            public void Download(Guid videoId)
            {
                Console.WriteLine($"下载视频{videoId.ToString()}");
            }
        }
    
    
        public interface I91PornTarget
        {
            void Watch(Guid videoId);
    
            void Download(Guid videoId);
        }
    
        public class Rank91PornAdapter : I91PornTarget
        {
            protected PornAdaptee PornAdaptee { get; }
    
            public Rank91PornAdapter(PornAdaptee pornAdaptee)
            {
                PornAdaptee = pornAdaptee;
            }
    
            public void Watch(Guid videoId)
            {
                var d = new Random(2).Next(2);
                if (d < 2)
                {
                    Console.WriteLine("你是普通用户,看不了");
                }
                else
                {
                    PornAdaptee.Watch(videoId);
                }
            }
    
            public void Download(Guid videoId)
            {
                var d = new Random(2).Next(2);
                if (d < 2)
                {
                    Console.WriteLine("你是普通用户,下载不了");
                }
                else
                {
                    PornAdaptee.Watch(videoId);
                }
            }
        }
    
        public class Vip91PornAdapter : I91PornTarget
        {
            protected PornAdaptee PornAdaptee { get; }
    
            public Vip91PornAdapter(PornAdaptee pornAdaptee)
            {
                PornAdaptee = pornAdaptee;
            }
    
            public void Watch(Guid videoId)
            {
                {
                    PornAdaptee.Watch(videoId);
                }
            }
    
            public void Download(Guid videoId)
            {
                {
                    PornAdaptee.Watch(videoId);
                }
            }
        }
    

    总结 :为某一个类做适配(不适合用抽象类)

    参考地址

  • 相关阅读:
    传统金融和互联网金融
    集团培训
    Javascript和JQuery之间的联系
    this和$(this)区别
    原生JavaScript支持6种方式获取元素
    绩效考核
    web服务端安全之分布式拒绝服务攻击
    web服务端安全之暴力破解
    web服务端安全之权限漏洞
    web服务端安全之文件上传漏洞
  • 原文地址:https://www.cnblogs.com/icxldd/p/15799596.html
Copyright © 2011-2022 走看看