设计模式——代理模式

来源:互联网 发布:blog域名注册 编辑:程序博客网 时间:2024/06/05 21:04


代理 即替代,它是结构型模式的典型示例。

代理模式的类包括:

抽象角色(Sbject):它是一个由真实角色实现的接口,并能表征其真实角色的功能。

代理角色(Proxy):它维护能够允许代理角色访问真实角色的引用。

真实角色(RealSubject):代理角色代表的真实对象。




应用场景:主要用于当我们需要一个简单对象来表示复杂对象的情况。如果创建对象的开销很大,那么可以推迟其创建,并使用一个简单对象来代理其功能直到必须立即创建的时候。

例如我们发送邮件时,邮件中包含一个大文件。如果我们直接将文件发送给出去,会消耗大量的资源(同时发给很多人)。这个是时候我们可以使用代理,先将文件上传到服务器中,然后将文件的地址添加到邮件中,当用户查看邮件并且需要查看文件时,才将文件从服务器上下载下来。这样即实现传递信息需求,也合理的使用资源。


一些注意事项:

当需要对一个复杂对象进行引用时使用代理模式更合适。




原创粉丝点击