• 设计模式 代理模式


    先写一个接口

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace AgentPattern
    {
        interface GiveGift
        {
            void GiveDolls();
            void GiveFlowers();
            void GiveChocolate();
        }
    }
    
    

    在写实现

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace AgentPattern
    {
        class Pursuit : GiveGift
        {
            string mm;
    
            public Pursuit(string mm)
            {
                this.mm = mm;
            }
    
            public void GiveChocolate()
            {
                Console.WriteLine(mm + " 送你巧克力
    ");
            }
    
            public void GiveDolls()
            {
                Console.WriteLine(mm + " 送你洋娃娃
    ");
            }
    
            public void GiveFlowers()
            {
                Console.WriteLine(mm + " 送你花
    ");
            }
        }
    }
    
    

    撰写代理

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace AgentPattern
    {
        class Proxy : GiveGift
        {
            Pursuit gg;
    
            public Proxy(string mm)
            {
                gg = new Pursuit(mm);
            }
    
            public void GiveChocolate()
            {
                gg.GiveChocolate();
            }
    
            public void GiveDolls()
            {
                gg.GiveDolls();
            }
    
            public void GiveFlowers()
            {
                gg.GiveChocolate();
            }
        }
    }
    
    

    主函数测试

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace AgentPattern
    {
        class Program
        {
            static void Main(string[] args)
            {
                string jiaojiao = "jiaojiao";
                Proxy daili = new Proxy(jiaojiao);
                daili.GiveDolls();
                daili.GiveFlowers();
                daili.GiveChocolate();
                Console.Read();
            }
        }
    }
    
    
  • 相关阅读:
    「疫期集训day7」周期
    「字符串」哈希板子
    「疫期集训day6」雨林
    「疫期集训day5」火焰
    「数据结构」对顶堆
    「STL中的常用函数 容器」
    「单调队列优化DP」P2034 选择数字
    bootstrap table使用及遇到的问题
    ArcGIS栅格影像怎么从WGS84地理坐标转成Xian80投影坐标
    arcgis如何求两个栅格数据集的差集
  • 原文地址:https://www.cnblogs.com/yufenghou/p/6024284.html
Copyright © 2020-2023  润新知