Skip to content

代理(Proxy)模式 结构型模式

为某对象提供一种代理以控制对该对象的访问。即客户端通过代理间接地访问该对象,从而限制、增强或修改该对象的一些特性。

c#
// 代理模式示例
using System;

// 定义一个接口
public interface ISubject
{
    void Request();
}

// 定义一个真实主题类
public class RealSubject : ISubject
{
    public void Request()
    {
        Console.WriteLine("RealSubject.Request() is called.");
    }
}

// 定义一个代理类
public class Proxy : ISubject
{
    private RealSubject realSubject;

    public void Request()
    {
        // 在真实主题类被调用前,先创建一个真实主题类的实例
        if (realSubject == null)
        {
            realSubject = new RealSubject();
        }

        // 调用真实主题类的方法
        realSubject.Request();
    }
}

class Program
{
    static void Main(string[] args)
    {
        // 创建一个代理类的实例
        Proxy proxy = new Proxy();

        // 调用代理类的方法
        proxy.Request();

        Console.ReadKey();
    }
}
你觉得这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度