最近在看设计模式这本书,其中学到了代理模式这一节感觉还是挺有用的,顺便记录下来,如果有补充欢迎大家在评论区补充。
首先,我们要明白代理模式的三种角色:
1 #region Proxy pattern 2 /// <summary> 3 /// 抽象角色:通过接口或抽象类声明真实角色实现的业务方法。 4 /// </summary> 5 public interface IService 6 { 7 void SendMsg(); 8 } 9 /// <summary> 10 /// 真实角色:实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用。 11 /// </summary> 12 public class SinaService : IService 13 { 14 public void SendMsg() 15 { 16 Console.WriteLine("Hello"); 17 } 18 } 19 /// <summary> 20 /// //代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。 21 /// </summary> 22 public class SinaServiceProxy 23 { 24 public IService service = null; 25 public SinaServiceProxy() 26 { 27 service = new SinaService(); 28 } 29 public void SendMsg() 30 { 31 Console.WriteLine("this is proxy "); 32 service.SendMsg(); 33 Console.WriteLine("end......."); 34 } 35 } 36 #endregion
原文:http://www.cnblogs.com/AngryShoes/p/7082780.html