代理是结构设计模式之一,它用于创建代理或占位符对象,用于控制原始对象的访问。
它充当中介,增加额外的控制级别,并且可以在将请求委托给真实对象之前和之后执行额外的操作。
关键概念:
代理对象:代表真实对象并控制对其的访问。
真实对象(主题):完成工作的实际对象。
client:与代理交互的实体,而不是直接与真实对象交互。
让我们以图像为例来理解这一点。
//object interface public interface image{ public void display(); } //real object public class realimage implements image { private string file; public realimage(string filename){ this.file = filename; loadimagefromdisk(); } @override public void display(){ system.out.println("rendering image : "+ file); } private void loadimagefromdisk(){ system.out.println("loading image "+file+" from disk"); } } //proxy class public class proxyimage implements image { private image image; private string file; public proxyimage(string filename){ this.file =filename; } @override public void display(){ if(image ==null){// create object of realimage only if the image reference is null, thus resulting in lazyintialization //( i.e. initializing the object only when it is needed not beforehand) image = new realimage(file); } image.display(); } } // client public class main { public static void main(string args[]){ image image = new proxyimage("wallpaper.png"); //image is loaded and displayed for the first time image.display(); //image will not be loaded again, only display will be called image.display(); } }
登录后复制
输出:
Loading image wallpaper.png from disk Rendering image : wallpaper.png
登录后复制
用例:
延迟初始化:延迟对象创建,直到绝对必要时。
访问控制:根据用户角色或权限限制对特定方法的访问。
日志记录:添加日志记录或监控功能。
以上就是代理人的详细内容,更多请关注抖狐科技其它相关文章!
-
vip爱奇艺怎么关闭自动续费微信
关闭爱奇艺 vip 微信自动续费的方法:登录爱奇艺 app;进入「个人中心」;点击「会员中心」;点击「自动续费」;禁用微信自动续费。如何关闭爱奇艺 VIP 自动续费微信支付 第一步:进入爱奇艺 App...
-
play商店闪退怎么解决方案
解决 play 商店闪退问题的方法包括:检查网络连接,确保稳定且强劲。清除 play 商店缓存和数据,通过进入“设置”>“应用程序”>“全部应用程序”>“google play 商店”>“存储”>“清...
-
python爬虫怎么停
要停止 python 爬虫,可以使用:按键盘中断 (ctrl+c/cmd+c) 发送终止信号设置超时自动停止爬虫处理异常以在错误时停止爬虫发送信号以外部终止爬虫实现优雅停止机制以完成当前任务后停止如何...
-
Krafton:收购Tango和Hi
据gamedeveloper报道,krafton(原蓝洞公司,pubg开发商)的ceo在接受采访时谈到了收购tango gameworks和《hi-fi rush》的原因,称这桩交易并非出于商业动机而...
-
百家号实名怎么解除?实名解除有影响吗?
在自媒体时代,百家号为创作者提供了展示才华的平台。然而,出于各种因素,一些创作者希望解除百家号实名认证。为此,php小编草莓将详细阐述百家号实名解除的操作步骤和注意事项,为需要解除实名的创作者提供指导...