说明spa
1.编写代理和真实业务都能使用的接口代理
2.在代理中聚合真实业务,对外不暴露真实业务,并可在代理中对真实业务以前和以后作一些操做code
public interface ISubject { void Request(); } class ProxyRealSubject : ISubject { RealSubject realSubject; public void Request() { if(realSubject==null) { realSubject = new RealSubject(); } Console.WriteLine("执行RealSubject前的操做"); realSubject.Request(); Console.WriteLine("执行RealSubject后的操做"); } } class RealSubject : ISubject { public void Request() { Console.WriteLine("执行RealSubject完成"); } } ISubject iSubject = new ProxyRealSubject(); iSubject.Request();