- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
精品资料网()
50万份精华管理资料,3万多集管理视频讲座
精品资料网()专业提供企管培训资料
更多资料请访问精品资料网 ()
此资料来自:精品资料网(
此资料来自:
精品资料网( )
联系电话:020值班手机提供50万份管理资料下载
3万集企业管理资料下载
1300GB高清管理讲座硬盘拷贝
更多企业学院: /Shop/
《中小企业管理全能版》
183套讲座+89700份资料
/Shop/40.shtml
《总经理、高层管理》
49套讲座+16388份资料
/Shop/38.shtml
《中层管理学院》
46套讲座+6020份资料?
/Shop/39.shtml
《国学智慧、易经》
46套讲座
/Shop/41.shtml
《人力资源学院》
56套讲座+27123份资料
/Shop/44.shtml
《各阶段员工培训学院》
77套讲座+ 324份资料
/Shop/49.shtml
《员工管理企业学院》
67套讲座+ 8720份资料
/Shop/42.shtml
《工厂生产管理学院》
52套讲座+ 13920份资料
/Shop/43.shtml
《财务管理学院》
53套讲座+ 17945份资料?
/Shop/45.shtml
《销售经理学院》
56套讲座+ 14350份资料
/Shop/46.shtml
《销售人员培训学院》
72套讲座+ 4879份资料
/Shop/47.shtml
描述:
让我们思考一下下面的代码:????//Client?
class?Customer{?
??public?void?someMethod(){?
????//Create?the?Service?Provider?Instance?
????FileUtil?futilObj=new?FileUtil();?
????//Access?the?Service?
????futilObj.writeToFile(“Some?Data”);?
??}?
}?
????????作为它实现的一部分,Customer类创建了一个FileUtil类的一个实例并且直接访问它的服务。换句话说,对于客户对象,访问FileUtil对象的方式是很直接的。它的实现可能是客户对象访问服务提供者对象最为普通的方式了。相比较,有些时候客户对象可能不直接访问服务提供者(也就是指目标对象),这种情况是由于下面的原因导致的:(1)????目标对象的位置??目标对象可能存在于同一台或者不同机器的不同地址空间。(2)????目标对象的存在形式??目标对象可能直到他被请求服务的时候还不存在,或者对象被压缩。(3)????特殊的行为??目标对象可以根据客户对象的访问权限接受或拒绝服务。在多线程环境,一些服务提供者对象需要特殊的考虑。????在这些情况下,代理模式(Proxy?Pattern)建议不要使有特殊需求的客户对象直接访问目标对象,而是使用一个单独的(分离的)对象(也就是指代理对象)为不同的客户提供通常的、直接的访问目标对象的方式。????代理对象提供和目标对象一样的接口。代理对象负责与目标对象交互的细节,代表客户对象与目标对象交互。所以客户对象不再需要处理访问目标对象的服务时的特殊需求。客户对象通过它的接口调用代理对象,代理对象直接把这些调用依次地传递给目标对象。客户对象不需要知道代理的原对象(目标对象)。代理对象隐藏了与客户对象进行交互的对象细节,如:对象是否是远程的、是否初始化、是否需要特殊的权限等。换句话说,代理对象作为客户和不可访问的远程对象或推迟初始化对象之间的透明桥梁。???代理对象因使用的场景不同,代理的种类也不同。让我们来快速的浏览一下一些代理和它们的目标。注意:表23.1列出了不同种类的代理对象,在一章中,仅讨论远程代理,其他的一些代理会在本书后面的模式中讨论。Table?23.1:?List?of?Different?Proxy?Types?代理类型?????目的?远程代理????提供对在不同地址空间的远程对象的访问缓存代理/服务代理????为了提供能够保存目标操作经常用到的结果,代理对象以存储方式保存这些结果。当客户对象请求同一个操作时,代理不需要直接访问目标对象,而是从存贮介质返回操作结果。防火墙代理????使用防火墙代理主要是为了保护目标对象以防止有害客户的访问。同时也可以防止客户访问有害的目标对象。保护代理????提供了不同客户访问不同层次的目标对象的功能。在创建代理时,定义了一个权限的集合。虽后,这些权限用来限制访问代理的特定部分,如果没有执行方法的权限,客
原创力文档


文档评论(0)