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

网站建设公司在哪里宣传湛江建设局网站

网站建设公司在哪里宣传,湛江建设局网站,中国高定十大品牌,南阳网站关键词代理模式的定义是:为其他对象提供一种代理以控制对这个对象的访问。 因为代理类与服务类实现同样的接口,所以代理类能代替服务类提供给客户端。当客户端使用代理类时,代理类能对请求进行处理(例如增加访问控制、缓存请求结果、隐…

代理模式的定义是:为其他对象提供一种代理以控制对这个对象的访问。

因为代理类与服务类实现同样的接口,所以代理类能代替服务类提供给客户端。当客户端使用代理类时,代理类能对请求进行处理(例如增加访问控制、缓存请求结果、隐藏对服务类的网络请求、日志记录等),并将请求转发给服务类来处理。

该模式存在 3 类角色:

  1. 服务接口:定义被代理的服务类接口
  2. 服务类:提供实际的逻辑
  3. 代理:持有服务类的引用,能对请求进行访问控制,并将请求转发给服务类进行处理
ServiceInterface
+operation()
Proxy
- Service
+Proxy(Service)
+operation()
Service
+operation()

在 Java 存在两种代理的实现方法,一种是静态代理,通过继承或组合的方式实现;另一种是动态代理,使用反射的方式实现。

静态代理方式的代码实现为:

//服务接口
public interface IGame {  void play();  
}
//被代理对象
public class Game implements IGame{  @Override  public void play() {  System.out.println("打游戏");  }  
}
//代理类
public class GameProxy implements IGame{  //被代理对象的引用  private IGame game;  public GameProxy(IGame game) {  this.game = game;  }  @Override  public void play() {  //在被代理方法前后增加自定义操作System.out.println("打游戏之前");  game.play();  System.out.println("打游戏之后");  }  
}
IGame game=new Game();  
IGame proxy=new GameProxy(game);  
proxy.play();
//运行结果
//打游戏之前
//打游戏
//打游戏之后

动态代理又分为 JDK 动态代理和 CGLIB 动态代理,JDK 动态代理通过 JDK 提供的 InvocationHandler 类和 Proxy 类实现, CGLIB 动态代理则是通过第三方字节码生成库。因为本文主要是介绍代理模式,关键还是在于模式的实现思路,反射只是 Java 提供的语法功能,所以这里只是稍微介绍一下 JDK 动态代理的实现代码:

//实现InvocationHandler接口
public class GameProxy2 implements InvocationHandler {  //被代理对象的引用  private Object obj;  public GameProxy2(Object obj) {  this.obj = obj;  }  @Override  public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {  System.out.println("打游戏之前");  //调用被代理对象的方法Object result = method.invoke(obj, args);  System.out.println("打游戏之后");  return result;  }  
}
IGame game=new Game();  
GameProxy2 proxy=new GameProxy2(game);  
IGame proxyGame = (IGame) Proxy.newProxyInstance(game.getClass().getClassLoader(), game.getClass().getInterfaces(), proxy);  
proxyGame.play();

代理模式的优点:在不需要修改服务类的基础上,对服务类进行访问控制。

缺点:使得代码复杂化。

http://www.yayakq.cn/news/681614/

相关文章:

  • 电商网站创办过程网页设计制作个人主页欣赏
  • 购物网站建站规划类似淘宝网站建设费用
  • google竞价推广网站快速优化排名排名
  • 有多个网页的大网站如何做天坛整装体验馆地址
  • 网站外包开发 代码的版权问题做公司简介需要多少钱
  • flash网站优缺点wordpress 旅游插件
  • 网站咨询界面设计杭州工业设计
  • wordpress菜单跳转页面跳转太原网站优化方案
  • 用天地图做网站福田产品设计
  • 赣州网站建设顺企网购物网站底部设计
  • 昆山智能网站建设怎么把自己做的网站发布到网上
  • 罗湖中小网站建设广州市天河区建设和水务局网站
  • 网站制作手机徐州做企业网站
  • 钱包网站开发广州网站关键词推广
  • 福州市鼓楼区建设局网站舆情监测软件
  • 网站续费收多少合适网站建设费计入哪个二级科目
  • 搭建本地网站环境核工业工程研究设计有限公司
  • 加强网站建设和管理的通知产品推广宣传方案
  • 中国建设银行官网站企业咸阳网站建设联系电话
  • 博物馆网站建设方案濮阳网站建设价格
  • 兰州做家教去哪个网站比较好临海营销型网站建设
  • wordpress站内搜索次数徐州建立网站
  • 现在的网站开发框架精准推广的渠道有哪些
  • 网站首页 如何设置优化方案英语
  • 织梦网站搬家工具礼泉做网站
  • 金口河移动网站建设新冠咳嗽一般要咳多少天
  • 宝山网站建设方案做网站竞价没有点击率
  • 浙江省建设信息港网站做购物网站赚钱吗
  • 十三师建设局网站南宁北京网站建设
  • 软件外包公司绩效考核内容seo网站分析工具