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

网站建设证有徐州网站建设哪家好

网站建设证有,徐州网站建设哪家好,公司部门简称,seo网站推广佛山什么是代理 在进行操作时有时不希望用户直接接触到目标,这时需要使用代理让用户间接接触到目标 给目标对象提供一个代理对象,并且由代理对象控制着对目标对象的引用 图解: 代理的目的 控制访问:通过代理对象的方式间接的访问目…

什么是代理

在进行操作时有时不希望用户直接接触到目标,这时需要使用代理让用户间接接触到目标

给目标对象提供一个代理对象,并且由代理对象控制着对目标对象的引用

图解:

代理的目的

控制访问:通过代理对象的方式间接的访问目标对象,防止直接访问目标对象给系统带来不必要的复杂性

功能增强:通过代理业务对原有业务进行增强

静态代理

如下代码是代理实例,并且实现控制访问

实现功能增强

 静态代理的缺点:当目标类增多的时候,代理类直接增加代理的目标类,会造成代理逻辑混乱

动态代理

package Test20250219DaiLi; public class Test { public static void main(String[] args) { // Proxy proxy = new Proxy(); // proxy.clothes("xxxL"); ClothesFactory clothesFactory = new ClothesFactory(); ByClothes clothes = (ByClothes) new DyProxy(clothesFactory).getProxyInterFace(); clothes.clothes("XXXL"); ShootFactory shootFactory = new ShootFactory(); ByShoot shoot= (ByShoot) new DyProxy(shootFactory).getProxyInterFace(); shoot.Shoot("42"); } }

package Test20250219DaiLi; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class DyProxy implements InvocationHandler { //被代理的对象 //代理对象如何得知自己代理的是哪个目标类 //这里这样写其实是让用户告诉我,我要代理谁 private Object o ; public DyProxy(Object o){ this.o = o; } //2.获取目标类的接口,要知道自己代理的核心方法是啥? public Object getProxyInterFace(){ return Proxy.newProxyInstance(o.getClass().getClassLoader(), o.getClass().getInterfaces(),this); } //知道了接口----》变相得知了自己要代理的核心方法: //invoke方法是利用反射的方式获取到了要代理的核心方法 //1.Object:jdk创建的代理类,无需赋值 //2.Method:目标类当中的方法,jdk提供,无需赋值 //3.Object[]:目标类当中的方法的参数,jdk提供,无需赋值 @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { FrontService(); method.invoke(o,args); endService(); return null; } //前置服务 public void FrontService() { System.out.println("根据您的需求进行市场调研"); } //前置服务 public void endService() { System.out.println("为您提供一条龙的包办服务"); } }

package Test20250219DaiLi; public interface ByClothes { public abstract void clothes(String size); }

package Test20250219DaiLi; /** * 卖衣服的工厂 * 目标类 */ public class ClothesFactory implements ByClothes{ public void clothes(String size){ System.out.println("已经给您定制好了一件大小为"+size+"的衣服"); } public void 机器处理(){ } public void 原材料(){} }

http://www.dtcms.com/wzjs/787380.html

相关文章:

  • 游戏编程长沙官网优化公司
  • 网站设计需要那些人百度怎么投广告
  • 网站改版重新备案野望原文及翻译
  • 网站横幅图片哈尔滨市工程招标网
  • 三网合一的网站怎么做上海哪家seo好
  • 西安企业网站建设价格军博网站建设公司
  • 苏州市建设职业中心网站东莞莞城网站建设
  • 公司网站设计与开发响应式网站价格
  • 网站优化什么意思电脑培训班附近有吗
  • 做海报的网站推荐django做网站效率高吗
  • 南宁网站建设建站系统企业管理系统项目经历怎么写简历范文
  • 装修网站源码网站登录超时怎么解决
  • 网站想换空间点点站长工具
  • 宝塔建站wordpresswordpress优化插件
  • ps网站主页按钮怎么做网站的设计方案在哪里
  • 南阳公司网站制作手机网站设计立找亿企邦
  • asp室内装修装潢网站源码短视频推广
  • 网站栏目结构最有性价比的网站建设
  • 怎么设计手机网站创造网站的软件
  • 建设的访问网站需要密码企业网站设计方案
  • 仿腾讯网站源码专业建站公司报价
  • 卖建材的网站顺德建设工程交易中心网站
  • 设计师网站导航如何自己开个网站平台
  • 网站素材图标帝国网站管理系统入门教程
  • 协会网站建设必要性企业网站搭建费用
  • 提供网站建设公司报价图片生成链接网站
  • 网站跳出率计算天津飞机模型制作公司
  • 建设部网站安全考核证书查询作文网站排行榜前十名
  • 怎么做微信网站阿里巴巴域名
  • 怎么样检查网站有没有做全站301网站标题与关键词