C# 代理模式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// See https://aka.ms/new-console-template for more information
/*个人理解
  Girl:实际要东西的人
  Middlemen:帮助Girl买她要的东西
 */
Person middlemen   = new Middlemen();
middlemen.BuyPhone();
middlemen.BuyPhoneCard();
 
public abstract class Person
{
    public abstract void BuyPhone();
    public abstract void BuyPhoneCard() ;
}
 
public class Girl : Person
{
    public override void BuyPhone()
    {
        Console.WriteLine("我要买小米手机");
    }
 
    public override void BuyPhoneCard()
    {
        Console.WriteLine("我要买小米手机卡");
    }
 
}
 
//Proxy 中间商
public class Middlemen : Person
{
    Girl girl;
    public Middlemen()
    {
        if (girl is null)
        {
            girl = new();
        }
        girl.BuyPhone();
        girl.BuyPhoneCard();
    }
    public override void BuyPhone()
    {
        Console.WriteLine("中间商卖小米手机");
    }
 
    public override void BuyPhoneCard()
    {
        Console.WriteLine("中间商卖小米手机卡");
    }
}

  

posted @   孤海飞雁  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示