设计模式之代理模式(Proxy)

2025-04-12 12:08:30

1、一、静态代理需要定义接口或父类,目标对象与代理对象一起实现相同的接口或继承相同的父类。优点:可以在不修改目标对象的功能前提下,对目标对象功能进行扩展。缺点:代理对象需要与目标对象实现一样的接口,会有很多代理类。一旦接口增加方法,目标对象与代理对象都需要维护。1.定义接口类IUser

设计模式之代理模式(Proxy)

2、2.定义目标对象User与代理对象StaticUserProxy,二者同时实现接口类IUser

设计模式之代理模式(Proxy)

3、二、动态代理代理对象不实现接口,目标对象实现接口,可使用动态代理,否则不可使用动态代理,也叫做JDK代理,接口代理。代理对象,利用JDK的API,动态在内存中构建,不需要实现接口,但需指定接口类型。代理类所在包,java.lang.reflect.Proxy,使用newProxyInstance方法创建。目标对象使用上述User,创建动态代理类DynamicProxyFacotry

设计模式之代理模式(Proxy)

4、三、cglib代理静漤逗庞俄态代理和动态代理模式,都需要目标对象实现一个接口,但是有时候目标对象只是一个单独的对象,并没有实现任何的接口,这时可以使用以目标对象子类的方式类实现代理,这种方法叫做,cglib代理。也叫做子类代理,它是在内存中构建一个子类对象从而实现目标对象的扩展。1.创建目标对象Person,不实现接口

设计模式之代理模式(Proxy)

5、2.创建cglib代理类

设计模式之代理模式(Proxy)

6、四、测试结果

设计模式之代理模式(Proxy)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:69
  • 阅读量:67
  • 阅读量:71
  • 阅读量:52
  • 阅读量:24
  • 猜你喜欢