当前位置: 首页 > article >正文

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

前言

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

代码

 //主题
 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();
    }
}

运行结果

在这里插入图片描述


http://www.kler.cn/a/405805.html

相关文章:

  • 电子电气架构 ---漫谈车载网关
  • @Autowired与构造器注入区别,为什么spring推荐使用构造注入而不是Autowired?
  • 优化注意力层提升 Transformer 模型效率:通过改进注意力机制降低机器学习成本
  • 【LeetCode热题100】栈
  • 【算法】计算程序执行时间(C/C++)
  • ara::com 与 AUTOSAR 元模型的关系总结
  • vue生命周期 (创建阶段 | 挂载阶段 | 更新阶段 | 销毁阶段 )
  • http 流量接入 Dubbo 后端服务
  • 系统调用介绍
  • 资源控制器--laravel进阶篇
  • 我的创作纪念日——创作懿佰贰拾捌天
  • 什么是事务?事务有哪些特性?
  • CSS3_BFC(十二)
  • 医药企业的终端市场营销策略
  • HTTP keep-alive和TCP keepalive详解
  • npm/cnpm的使用
  • Day24 回溯算法part03
  • 什么是AOT技术?Java语言不同类型的JIT或AOT编译器?
  • android 实现答题功能
  • 046 购物车
  • Go语言基本类型转换
  • git使用(一)
  • 金融数据中心容灾“大咖说” | 美创科技赋能“灾备一体化”建设
  • STM32 ADC 读取模拟量
  • GitLab|数据迁移
  • DICOM图像处理:深入解析DICOM彩色图像中的Planar配置及其对像素数据解析处理的实现