zoukankan      html  css  js  c++  java
  • 代理模式

    定义

    将实际业务对象封装成定义的代理对象,通过代理对象来实现实际的业务,并且可以附加自己的操作。

    注重点在于实现真正目标对象的同时,附加必要的操作。

    类图

    ISubject定义业务的统一接口,ProxySubject实现对RealSubject的代理。在实际的业务调用中会是用ProxySubject替代RealSubject的业务操作。

    代码

     1     /// <summary>
     2     /// 业务接口
     3     /// </summary>
     4     public interface ISubject
     5     {
     6         void Submit();
     7     }
     8 
     9     /// <summary>
    10     /// 代理类
    11     /// </summary>
    12     public class ProxySubject : ISubject
    13     {
    14         private RealSubject realSubject = null;
    15         public ProxySubject(RealSubject realSubject)
    16         {
    17             this.realSubject = realSubject;
    18         }
    19 
    20         public void Submit()
    21         {
    22             if (!BeforeSubmit())
    23             {
    24                 return;
    25             }
    26             realSubject.Submit();
    27             AfterSubmit();
    28         }
    29         /// <summary>
    30         /// 提交前业务处理
    31         /// </summary>
    32         /// <returns></returns>
    33         private bool BeforeSubmit()
    34         {
    35             //TODO...
    36             return true;
    37         }
    38         /// <summary>
    39         /// 提交后业务处理
    40         /// </summary>
    41         private void AfterSubmit()
    42         {
    43             //TODO...after submit
    44         }
    45     }
    46     /// <summary>
    47     /// 真实业务类
    48     /// </summary>
    49     public class RealSubject : ISubject
    50     {
    51         public void Submit()
    52         {
    53             //TODO submit
    54         }
    55     }
    View Code

    总结

    代理模式是代理对象封装实际对象以实现取代其功能的效果,并可以附加一些其他操作。是一个封装的过程,在业务上以区分适配器模式。

    Top
    收藏
    关注
    评论
  • 相关阅读:
    「 HDU P3336 」 Count the string
    Luogu P4016 「 网络流 24 题 」负载平衡问题
    『 学习笔记 』网络最大流
    Luogu P4014 「 网络流 24 题 」分配问题
    Loj #6000.「 网络流 24 题 」搭配飞行员
    牛客练习赛25 C 再编号
    线段树--从入门到入土
    网络流学习--费用流
    网络流--最大流
    五校联考解题报告
  • 原文地址:https://www.cnblogs.com/Joy-et/p/4870504.html
Copyright © 2011-2022 走看看