代理模式
为其他对象提供一种代理以控制对这个对象的访问。
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApp1
{
abstract class Subject
{
public abstract void Request();
}
class RealSubject : Subject
{
public override void Request()
{
Console.WriteLine("真实的请求");
}
}
class Proxy : Subject
{
RealSubject realSubject;
public override void Request()
{
if (realSubject == null)
{
realSubject = new RealSubject();
}
//此处可以进行权限判断等
if (true)
{
Console.WriteLine("经过代理调用");
realSubject.Request();
}
else
Console.WriteLine("没有权限");
}
}
class Costume
{
static void Main(string[] args)
{
Proxy proxy = new Proxy();
proxy.Request();
}
}
}