设计模式——代理模式


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

代理模式的类包括:

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

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

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




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

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


一些注意事项:

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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值