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

运行结果

相关推荐
炼钢厂21 分钟前
C#6——DateTime
c#
Lv11770081 小时前
Visual Studio中的多态
ide·笔记·c#·visual studio
wuguan_2 小时前
C#:多态函数重载、态符号重载、抽象、虚方法
开发语言·c#
我不是程序猿儿2 小时前
【C#】ScottPlot的Refresh()
开发语言·c#
工程师0072 小时前
C# 基于 HSL 与基恩士 PLC 通信
c#·mc协议·基恩士plc
syt_10134 小时前
设计模式之-代理模式
设计模式·代理模式
拾忆,想起5 小时前
设计模式:软件开发的可复用武功秘籍
开发语言·python·算法·微服务·设计模式·性能优化·服务发现
张人玉6 小时前
c# DataSet 类
数据库·c#·dataset
秦苒&6 小时前
【C语言】详解数据类型和变量(一):数据类型介绍、 signed和unsigned、数据类型的取值范围、变量、强制类型转换
c语言·开发语言·c++·c#
c#上位机6 小时前
C#异步编程之async、await
开发语言·c#