【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();
    }
}

运行结果

相关推荐
贵慜_Derek5 小时前
《从零实现 Agent 系统》连载 07|记忆系统:短期上下文 vs 长期外部记忆
人工智能·设计模式·架构
baivfhpwxf20237 小时前
c# 中对像之间频繁的转换会慢吗?
开发语言·c#
加号39 小时前
【C#】 实现 XRC 异或冗余校验:原理与实践
c#·xrc
小钻风33669 小时前
Java + Spring Boot 操作 Kafka 完整学习指南
c#·linq
叫我少年9 小时前
C# 程序的常规结构 — 命名空间、类型、入口点与表达式
c#
老码观察10 小时前
设计模式实战解读(一):单例模式——全局唯一实例的正确打开方式
单例模式·设计模式
老码观察10 小时前
设计模式实战解读(二):工厂模式——对象创建的解耦艺术
设计模式·log4j
看山是山_Lau12 小时前
原型模式:当复制比重新创建更高效时
设计模式·原型模式
用户3563029048713 小时前
【设计模式】观察者模式——事件通知机制
设计模式
追烽少年x13 小时前
STL中的设计模式(二)
c++·设计模式