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

郑州 (网站建设现在出入山西最新规定

郑州 (网站建设,现在出入山西最新规定,游戏公司网站模板下载,软装潢.企业网站建设什么是代理模式呢?我很忙,忙的没空理你,那你要找我呢就先找我的代理人吧,那代理人总要知道 被代理人能做哪些事情不能做哪些事情吧,那就是两个人具备同一个接口,代理人虽然不能干活,但是被 代…
什么是代理模式呢?我很忙,忙的没空理你,那你要找我呢就先找我的代理人吧,那代理人总要知道
被代理人能做哪些事情不能做哪些事情吧,那就是两个人具备同一个接口,代理人虽然不能干活,但是被
代理的人能干活呀。
举例子:
比如西门庆找潘金莲,那潘金莲不好意思答复呀,咋办,找那个王婆做代理
类图如下

(1).静态代理

  1. 定义同一种类型的接口
  2. 定义同一种类型接口的实现
  3. 定义代理类

 1.先定义一种类型的女人:

package proxy;/*** * 定义一种类型的女人,王婆和潘金莲都属于这个类型的女人** @author 1* @version 1.0* @description: TODO* @date 2023/8/14 14:43*/
public interface KindWomen {/*** 抛媚眼*/public void makeEyesWithMan();/*** 开心约会*/public void happyWithMan();}

2.实现接口

package proxy;/*** 潘金莲** @author 1* @version 1.0* @description: TODO* @date 2023/8/14 14:45*/
public class PanJinLian implements KindWomen {@Overridepublic void makeEyesWithMan() {System.out.println("潘金莲抛媚眼");}@Overridepublic void happyWithMan() {System.out.println("潘金莲和男人开心约会");}
}

3.定义代理类

package proxy;/*** 代理类* 王婆(帮忙给西门庆代理)** @author 1* @version 1.0* @description: TODO* @date 2023/8/14 14:46*/
public class WangPo implements KindWomen {private KindWomen kindWomen;/*** 王婆默认就是潘金莲的代理*/public WangPo() {this.kindWomen = new PanJinLian();}/*** 王婆可以代理这个类型的所有人** @param kindWomen*/public WangPo(KindWomen kindWomen) {this.kindWomen = kindWomen;}@Overridepublic void makeEyesWithMan() {//实际做事的是代理类this.kindWomen.makeEyesWithMan();}@Overridepublic void happyWithMan() {//实际做事的是代理类this.kindWomen.happyWithMan();}
}

4.找到代理类进行调用

package proxy;/*** 西门庆** @author 1* @version 1.0* @description: TODO* @date 2023/8/14 14:50*/
public class XiMenQing {public static void main(String[] args) {System.out.println("(1)静态代理******************");//西门庆找到王婆,然后王婆就作为代理,帮忙安排了和潘金莲的约会WangPo wangPo = new WangPo();//王婆默认的代理就是潘金莲wangPo.makeEyesWithMan();wangPo.happyWithMan();//传参数执行WangPo wangPo2 = new WangPo(new PanJinLian());wangPo2.makeEyesWithMan();wangPo2.happyWithMan();System.out.println("(2)动态代理******************");KindWomen kindWomen = (KindWomen)new ProxyFactory(new PanJinLian()).getProxyInstance();System.out.println("生成的代理对象"+kindWomen.getClass());kindWomen.makeEyesWithMan();kindWomen.happyWithMan();}
}

(2).动态代理

package proxy;import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;/*** @author 1* @version 1.0* @description: TODO* @date 2023/8/14 14:58*/
public class ProxyFactory {//维护一个目标对象 , Objectprivate Object target;//构造器 , 对target 进行初始化public ProxyFactory(Object target) {this.target = target;}//动态生成一个代理对象public Object getProxyInstance() {return Proxy.newProxyInstance(target.getClass().getClassLoader(),target.getClass().getInterfaces(),new InvocationHandler() { //匿名类重写invoke方法@Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {System.out.println("动态代理开始");Object returnVal = method.invoke(target, args);//反射机制调用目标对象的方法System.out.println("动态代理结束");return returnVal;}});}
}

执行结果如下:

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

相关文章:

  • 加强网站的建设工作网站如何做品牌营销
  • 虚拟机中建设iis网站做网站用什么软件方便
  • 域名买了之后如何建设网站郑州制作网站软件
  • 做尽调需要用到的网站具体的网站建设
  • 中山免费建网站vue做社区网站
  • 校园社交网站开发宝安区网站建设培训
  • 建设部网站投标保证金wordpress文章字体修改为宋体
  • 企业电子商务网站有哪些功能苏州网站设计选哪家
  • 网站备案个人好还是企业好wordpress 加斜杠
  • 南沙区交通和建设局网站网站建设应考虑哪些方面的问题
  • 网站建设gzdlzgg网站建设维护成本
  • 网站制作北京山东建站商城
  • 网站建设企业类型是什么h5网站还有哪些
  • 企业网站的设计招标网站建设申请报告
  • 信誉好的南昌网站建设贵州住房和建设厅网站
  • 网站建设与管理专业的行业发展运动类网站
  • 郑州大学现代远程教育《网页设计与网站建设》课程考核要求如何制作网站平台
  • 建设部网站查询公司推广方式是什么意思
  • 东莞网站建设市场seo 优化案例
  • 安居客网站怎么做做网站要开发嘛
  • 湘潭网站建设方案费用网站图片相册代码
  • 建设部网站 测绘规章网站开发逻辑
  • 怎样进行公司网站建设携程网站建设目的
  • 设计娱乐网站psd企业网站模板
  • 济南做网站价格深圳网站设计公司排名榜
  • 如何做网站的seo济南seo优化外包服务公司
  • 网站开发技术负责那些设计方案ppt模板
  • 中小企业建站可以怎么做wordpress主题 个人博客
  • 高校网站建设模板怎么做微信公众号小程序
  • 上海专业网站建设排行注册网站卖东西