using System;
namespace Pattern
{
public abstract class subject
{
public abstract void request();
}
/// <summary>
/// Summary description for Class1.
/// </summary>
public class proxy:subject
{
public proxy()
{
//
// TODO: Add constructor logic here
//
}
private readsubject rs=new readsubject();
public override void request()
{
before();
rs.request();
after();
}
private void before()
{
System.Console.WriteLine("proxy subject before request");
}
private void after()
{
System.Console.WriteLine("proxy subject after request");
}
}
public class readsubject:subject
{
public readsubject()
{
}
public override void request()
{
System.Console.WriteLine("real subject request");
}
}
}
//代理模式
subject s=new proxy();
s.request();