.NET 代理(Proxy)模式

目录
  1. 定义
  2. UML
  3. 参与者
  4. 示例
定义:

代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。

UML:

参与者:

抽象主题(Subject)角色:

声明了代理主题和真实主题的公共接口,使任何需要真实主题的地方都能用代理主题代替.

具体主题(RealSubject)角色:

实现抽象主题角色的具体对象。

代理主题(Proxy)角色:

含有真实主题的引用,从而可以在任何时候操作真实主题,代理主题功过提供和真实主题相同的接口,使它可以随时代替真实主题.代理主题通过持有真实主题的引用,不但可以控制真实主题的创建或删除,可以在真实主题被调用前进行拦截,或在调用后进行某些操作.

示例:
代码using System;
 
namespace DoFactory.GangOfFour.Proxy.Structural
{
  /// 
  /// MainApp startup class for Structural
  /// Proxy Design Pattern.
  /// 
  class MainApp
  {
    /// 
    /// Entry point into console application.
    /// 
    static void Main()
    {
      // Create proxy and request a se

你可能感兴趣的:(.NET 代理(Proxy)模式)