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

 时间:2024-11-08 05:57:51

代理模式,提供了对目标对象另外的访问方式,即通过代理对象访问目标对象。可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。代理模式的关键点,代理对象与目标对象。代理对象是目标对象的扩展,并会调用目标对象。

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

工具/原料

windows

eclipsejdk7

方法/步骤

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)

胃病患者吃什么食物好 茄子漫画社怎么升级 银子菜的做法 婴儿期的健康与教育 铝单板安装方法
热门搜索
五头蛇图片 高手在民间图片 勤俭节约手抄报图片 ps背景图片素材 工作证模板图片