当前位置: 首页 > news >正文

口碑好的南昌网站建设国外开发网站

口碑好的南昌网站建设,国外开发网站,重庆做的好的房产网站好,曲靖企业网站建设Java设计模式中的代理模式 代理模式是一种结构型设计模式#xff0c;它提供了一个代理对象#xff0c;以控制对其他对象的访问。代理可以充当中介#xff0c;用于控制对真实对象的访问。 代码举例演示 静态代理#xff1a; // 接口 interface Subject {void request();…Java设计模式中的代理模式 代理模式是一种结构型设计模式它提供了一个代理对象以控制对其他对象的访问。代理可以充当中介用于控制对真实对象的访问。 代码举例演示 静态代理 // 接口 interface Subject {void request(); }// 真实对象 class RealSubject implements Subject {Overridepublic void request() {System.out.println(RealSubject: Handling request.);} }// 代理对象 class Proxy implements Subject {private RealSubject realSubject;public Proxy(RealSubject realSubject) {this.realSubject realSubject;}Overridepublic void request() {System.out.println(Proxy: Pre-processing request.);realSubject.request();System.out.println(Proxy: Post-processing request.);} } 动态代理 import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy;// 接口 interface Subject {void request(); }// 真实对象 class RealSubject implements Subject {Overridepublic void request() {System.out.println(RealSubject: Handling request.);} }// 动态代理处理器 class DynamicProxyHandler implements InvocationHandler {private Object realSubject;public DynamicProxyHandler(Object realSubject) {this.realSubject realSubject;}Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {System.out.println(Dynamic Proxy: Pre-processing request.);Object result method.invoke(realSubject, args);System.out.println(Dynamic Proxy: Post-processing request.);return result;} }// 使用动态代理 public class DynamicProxyExample {public static void main(String[] args) {RealSubject realSubject new RealSubject();Subject proxyInstance (Subject) Proxy.newProxyInstance(Subject.class.getClassLoader(),new Class[]{Subject.class},new DynamicProxyHandler(realSubject));proxyInstance.request();} }区别 静态代理 代理类在编译时就已经确定并且需要为每个被代理的类编写一个代理类。动态代理 代理类在运行时动态生成无需为每个被代理的类编写具体的代理类。使用 InvocationHandler 接口来处理代理逻辑通过 Proxy.newProxyInstance 方法创建代理对象。 具体应用场景 代理模式的应用场景包括 远程代理 用于在不同地址空间中代表对象例如远程方法调用RMI。虚拟代理 用于按需创建开销较大的对象例如加载大图时先显示缩略图。保护代理 控制对敏感对象的访问例如权限控制。 举例说明 // 接口 interface Image {void display(); }// 真实对象 class RealImage implements Image {private String filename;public RealImage(String filename) {this.filename filename;loadImageFromDisk();}private void loadImageFromDisk() {System.out.println(Loading image: filename);}Overridepublic void display() {System.out.println(Displaying image: filename);} }// 代理对象 class ProxyImage implements Image {private RealImage realImage;private String filename;public ProxyImage(String filename) {this.filename filename;}Overridepublic void display() {if (realImage null) {realImage new RealImage(filename);}realImage.display();} }在上述例子中ProxyImage 充当了代理对象它可以在需要时创建真实对象 RealImage从而实现虚拟代理的效果延迟加载大图。 代理模式的优点 代理模式的优点包括 控制对真实对象的访问 代理可以在访问真实对象前后添加额外的逻辑实现对真实对象的控制。实现懒加载 代理模式可以延迟创建真实对象只有在需要时才进行实例化。简化客户端 客户端无需直接操作真实对象通过代理对象完成操作简化了客户端的调用。增加安全性 代理可以控制对真实对象的访问权限增加系统的安全性。
http://www.pierceye.com/news/715845/

相关文章:

  • 网站的icp 备案信息wordpress爆破字典
  • 福建厦门网站建设公司网站代码素材建设
  • 广州网络公司建站e语言可以做网站吗
  • 不想用原来的网站模板了就用小偷工具采集了一个可是怎么替换seo顾问张智伟
  • 效果好的徐州网站开发建设网站怎么学
  • 上海网站设计要多少钱建设银行个人网站打不开
  • 哪个网站做欧洲旅行比较好东营网站制作
  • 做pc端网站效果wordpress js 添加图片
  • 给装修公司做网站商标设计大全
  • 深圳做网站公司有哪些地方国际形势最新消息
  • 企业网站建设管理平台石家庄平山网站推广优化
  • 免费asp网站模板带后台网站建设需求调研通知
  • 浙江二建建设集团有限公司网站微信哪里可以做视频网站
  • wordpress阿里百秀5.2广州网站排名专业乐云seo
  • 网站建设 上海网站福州最好的网站建设公司
  • 兴力网站建设企业宣传网站在哪里做
  • 网站了建设pc官网 和手机网站
  • wordpress导航网站模板下载wordpress 关闭搜索引擎
  • 网站架构的优化wordpress企业主题免费下载
  • 分类信息网站手机版自学编程从哪学起
  • 网站目录 index.html京伦科技网站做的怎么样
  • 学做简单网站视频教程济源建设网站
  • 一个网站开发成本网店推广方案范文
  • 为什么要做seo盐城网站优化
  • 网站策划方案ppt站长查询域名
  • 网站开发需要哪些流程wordpress 添加widget
  • 在线报名网站建设汉字logo设计生成器
  • 移动网站和桌面网站区别烟台网站设计制作公司电话
  • 遵义网站建设网站定制wordpress主题多少钱
  • 外贸网站如何做推广是什么意思长沙制作公园仿竹护栏多少钱一米