【设计模式】12.代理模式
说明:像说的那样客户端和程序中间加了一层代理,如果是无功能的代理,加了也是白加,做个占坑作用吧。功能型的有:
单例代理,1.远程代理,2.虚拟代理,3.Copy-on-Write代理,4.保护代理,5.防火墙代理,6.智能引用代理,7.Cache代理
实现:
public abstract class ABS_Parson { public abstract void BuyProduct(); } public class Parson :ABS_Parson { public override void BuyProduct() { //实现方法 } } public class FriendProxy : ABS_Parson { private Parson p = new Parson(); public override void BuyProduct() { //代理方法 this.Buylist(); p.BuyProduct(); } public void Buylist() { //代理自己的方法,比如购买弄张清单。 } } //执行 public class test { public void start() { ABS_Parson p = new FriendProxy(); p.BuyProduct(); } }
20220830补充:
意义:不破坏业务实现类,比如业务类加个日志,加个缓存,感觉AOP更好吧。
浙公网安备 33010602011771号