代理模式
用一个代理类将被代理类和别的类分离开,外面的类想访问被代理的类,要走代理类中转。
为什么要控制对对象的访问?
一方面,为了节约资源。站在迪米特法则的角度看,如果对于一个非常耗资源的大型对象,如果所有的客户端不管是否使用都去初始化这个对象其实是非常耗资源的。
另一方面,为了系统安全。假设我没有一个可以在系统上运行的命令类,我们正常使用它没有问题,但如果我们想将此程序提供给客户端应用程序,它可能会出现严重问题,因为客户端程序可以发出命令来删除一些系统文件或更改一些您不想要的设置。
优缺点
优点:可以在客户端不知道的情况下控制服务对象,在客户端与目标对象之间起到一个中介作用和保护目标对象的作用,还可以对目标对象的操作做扩展。
缺点:代理模式会造成系统设计中类的数量增加,增加了系统的复杂度;可能会造成请求处理速度变慢
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了