【C#设计模式(13)——代理模式(Proxy Pattern)】

前言

代理模式通过引入一个中间代理对象去控制对原始对象的访问,并在访问过程中进行控制或增强。同时保持客户与原始对象之间的解耦。

代码

csharp 复制代码
 //主题
 public abstract class Subject
 {
     public abstract void Request();
 }

 //实际主题
 public class RealSubject : Subject
 {
     public override void Request()
     {
         Console.WriteLine("real request address: 10.110.119.120");
     }
 }
 // 代理主题
 public class Proxy : Subject
 {
     private RealSubject _subject;
     public Proxy()
     {
         _subject = new RealSubject();
     }

     public override void Request()
     {
         Console.WriteLine("init request config....");

         _subject.Request();

         Console.WriteLine("use proxy realm name request :https://www.baidu.com");
     }
 }

/*
 * 结构型模式:Structural Pattern
 * 代理模式:Proxy Pattern
 */
internal class Program
{
    static void Main(string[] args)
    {
        Proxy proxy = new Proxy();
        proxy.Request();
        Console.ReadLine();
    }
}

运行结果

相关推荐
咖啡八杯20 小时前
GoF设计模式——备忘录模式
java·后端·spring·设计模式
槑有老呆1 天前
从 Prompt Engineering 到 Harness Engineering:AI 编程的下一次跃迁
设计模式
HjhIron1 天前
从Prompt到Context:大模型应用开发的范式转移
设计模式·aigc·ai编程
咖啡八杯3 天前
GoF设计模式——中介者模式
java·后端·spring·设计模式
hez20103 天前
在 .NET 上构建超大托管数组
c#·.net·.net core·gc·clr
胡萝卜术3 天前
从“分数打架”到“排名投票”:为什么你的ChatBI必须用RRF?
算法·设计模式·面试
亦暖筑序4 天前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式
青禾网络6 天前
Web 前端如何接入 AI 音效生成:从零到可用的完整方案
人工智能·设计模式
ZJPRENO7 天前
吃透软件开发六大设计原则,告别烂代码
设计模式
咖啡八杯7 天前
GoF设计模式——命令模式
java·设计模式·架构