您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 设计及方案 > 软件设计原则、软件设计模式(5)
11本讲提纲代理模式设计原则、设计模式22追MM33追MM44追MM55做嫁衣直接追MM没有代理的代码66没有代理的代码77没有代理的代码•追求者类88没有代理的代码•被追求者类99没有代理的代码•客户端调用代码1010没有代理的代码1111只有代理的代码1212只有代理的代码•代理类1313只有代理的代码•客户端1414只有代理的代码Pursuit(追求者类)和Proxy(代理)相似的地方?都有送礼物的三个方法二者都实现同样的接口1515符合实际的代码1616符合实际的代码•代理接口1717符合实际的代码•追求者类1818符合实际的代码•代理类1919符合实际的代码•客户端20204、代理模式•代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。2121代理模式2222代理模式•Subject类(定义了RealSubject和Proxy的共用接口,这样在任何使用RealSubject的地方都可以使用Proxy)2323代理模式•RealSubject类(定义了Proxy所代表的真实实体)2424代理模式•Proxy类(保存一个引用使得代理可以访问实体,并提供一个与Subject的接口相同的接口,这样代理就可以用来替代实体)2525代理模式•客户端2626代理模式应用•远程代理•为一个对象在不同的地址空间提供局部代表•这样可以隐藏一个对象存在于不同地址空间的事实•WebService在.NET中的应用2727代理模式应用•虚拟代理•根据需要创建开销很大的对象•通过它来存放实例化需要很长时间的真实对象•可以达到性能的最优化•打开很大的HTML页面•→文字和图片•未打开的图片框就是通过虚拟代理来替代了真实图片2828代理模式应用•安全代理•用来控制真实对象访问时的权限•一般用于对象应该有不同的访问权限的时候2929代理模式应用•智能指引•指当调用真实的对象时,代理处理另外一些事•计算真实对象的引用次数•第一次引用一个持久对象时,将它装入内存•访问一个实际对象前,检查是否锁定3030代理模式总结•代理模式其实就是在访问对象时引入一定程度的间接性,因为这种间接性,可以附加多种用途。•代理就是真实对象的代表。
本文标题:软件设计原则、软件设计模式(5)
链接地址:https://www.777doc.com/doc-3392666 .html