代理(Proxy)模式 结构型模式
更新: 2023-05-24 11:11:27 字数: 0 字 时长: 0 分钟
为某对象提供一种代理以控制对该对象的访问。即客户端通过代理间接地访问该对象,从而限制、增强或修改该对象的一些特性。
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();
}
}