设计模式之代理模式
何为代理模式?代理,顾名思义可联想到代理人,代理人是干啥子的,帮别人做某件事的,且可能会根据一些具体的情况,做一些具体的处理。大概如此吧。 定义与作用 它提供了对目标对象另外的访问方式;即通过代理对象访问目标对象。代理对象是对目标对象的扩展,并会调用目标对象。 好处:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 实现 静态代理 简而言之,就是代理对象与被代理对象都实现同一接口,在代理对象中,调用被代理对象的相应方法,并加上一些自定义的其它操作,要使用被代理对象的方法时,只需要调用代理对象的相应方法即可。 缺点:如果增加接口中的方法,那么代理对象以及被代理对象都需要进行相应的修改,难以维护。 动态代理 不需要实现接口,利用JDK的API,在内存中动态地创建代理对象。代理对象不需要实现接口,但是被代理对象一定要实现接口,否则不能用动态代理。 代理类所在包:java.lang.reflect.ProxyJDK实现代理只需要使用newProxyInstance方法,但是该方法需要接收三个参数,完整的写法是: static Object new