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

运行结果

相关推荐
ACE19852 小时前
AI Agent 设计模式深度解析:提示链(Prompt Chaining)模式
人工智能·设计模式·prompt
周杰伦fans3 小时前
[特殊字符] 代理模式超详细讲解 ——.NET
数据库·c#·代理模式
明洞日记4 小时前
【设计模式手册012】责任链模式 - 请求处理的流水线艺术
java·设计模式·责任链模式
ada0_ada14 小时前
行为型模式:①责任链模式(Chain of Responsibility Pattern)
设计模式
用户8356290780514 小时前
C# 高效生成 Word 表格:复杂表格创建实战指南
后端·c#
屠夫4 小时前
C# LINQ
c#
光头闪亮亮6 小时前
电子发票解析工具-c#桌面应用开发-DataGridView表格控件使用详解
c#
周杰伦fans7 小时前
C# 中的 `Hashtable`
开发语言·c#
lingggggaaaa7 小时前
免杀对抗——C2远控篇&PowerShell&有无文件落地&C#参数调用&绕AMSI&ETW&去混淆特征
c语言·开发语言·笔记·学习·安全·microsoft·c#
口袋物联7 小时前
设计模式之建造者模式在 C 语言中的应用(含 Linux 内核实例)
c语言·设计模式·建造者模式