首页 > 代码库 > 5.大话设计模式-代理模式
5.大话设计模式-代理模式
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DesignModel{ public class Proxy:IAction { ZQZ zzz = null; public Proxy(ZQZ mm) { zzz = mm; } public void SendFlower() { zzz.SendFlower(); } public void SendCake() { zzz.SendCake(); } } public interface IAction { void SendFlower(); void SendCake(); } public class ZQZ : IAction { public string myname { set; get; } public void SendFlower() { Console.WriteLine(myname+"送花"); } public void SendCake() { Console.WriteLine(myname+"送蛋糕"); } }}
客户端调用:
1 ZQZ zzz = new ZQZ();2 zzz.myname = "朱建军";3 Proxy p = new Proxy(zzz);4 p.SendFlower();5 p.SendCake();
代理模式分类:
1. 远程代理,也就是为一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在于不同地址空间的事实。
例如: webservice 服务
2. 虚拟代理, 是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真是对象。
浏览器当中是用代理模式来优化下载页面的
3.安全代理
用来控制真实对象访问时的权限。
4.智能指引
是指调用真实对象时,代理处理另外一些事。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。