关注大学生就业,培养泛IT高端人才

陕西新榜样官方网站

您的位置: 主页 > 新闻动态 > IT资讯 >

Java中的三种代理模式

来源:西安JAVA培训 发布时间:2018-08-14 浏览量:

  代理是一种设计模式,它是通过代理对象来访问目标对象。这样做的话,可以在目标对象实现的基础上增强额外的功能操作,也就是扩展目标对象的功能。

西安JAVA培训

  而且这其中就使用到编程里的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需要修改,可以通过代理的方式来扩展该方法。

  代理模式最重要的是:目标对象与代理对象。代理对象是对目标对象的扩展,并会调用目标对象。

  一、静态代理

  在使用静态代理的过程中,是需要定义接口,也就是被代理的对象与代理对象一起实现相同的接口。

  例如:模拟保存动作,定义一个保存动作的接口:IUserDao.Java,然后目标对象实现这个接口的方法UserDao.Java,此时如果使用静态代理方式,那么就需要在代理对象(UserDaoProxy.Java)中也实现IUserDao接口。切记调用的时候,用通过调用代理对象的方法来调用目标对象.

  需要注意的是,代理对象与目标对象要实现相同的接口,然后通过调用相同的方法来调用目标对象。

  二、动态代理

  动态代理主要有以下几个特点:

  1.代理对象,不需要实现接口。

  2.代理对象的生成,是利用Jdk的Api。

  3.动态代理也叫做:JDK代理或接口代理。

  三、Cglib代理

  上面的静态代理和动态代理模式,都是要求目标对象是实现一个接口的目标对象,但是有时候目标对象只是一个单独的对象,并没有实现任何的接口,这个时候就可以用以目标对象子类的方式来实现代理,这种方法就叫做Cglib代理。

  Cglib代理,也可以叫作子类代理,它是在内存中构建一个子类对象从而实现对目标对象功能的扩展。

  Jdk的动态代理有一个限制,就是使用动态代理的对象必须实现一个或多个接口,如果代理没有实现接口的类,那么就可以用Cglib来实现。

  以上几点就是关于Java的三种代理模式,我们在学习的过程中,不妨多了解了解以上三个代理模式,这样也有助于提高我们在西安Java培训中的水平。

  陕西新榜样软件科技有限公司是一家西安软件培训的龙头企业,拥有众多的师资力量与良好的教学环境,致力于打造西安最权威最专业的IT培训平台。陕西新榜样会定期发布西安软件培训等相关资料文章,包括:西安JAVA培训西安UI培训WEB开发培训网络营销工程师培训等领域,敬请关注!

  西安JAVA培训热线:029-63326555

  西安软件培训网址:www.xinbangyang.com

  联系地址:陕西省西安市碑林区东大街端履门云龙大厦9楼

IT培训 服务