彻底理解Java动态代理

来源:互联网 发布:正新鸡排 知乎 编辑:程序博客网 时间:2024/06/05 18:09

学习Java的同学注意了!!! 

代理设计模式

定义:为其他对象提供一种代理以控制对这个对象的访问。

代理模式的结构如下图所示。

动态代理使用

java动态代理机制以巧妙的方式实现了代理模式的设计理念。

代理模式示例代码

publicinterfaceSubject {publicvoiddoSomething(); } publicclassRealSubject implements Subject {publicvoiddoSomething() { System.out.println( "call doSomething()" ); } } publicclassProxyHandler implements InvocationHandler {private Object proxied; publicProxyHandler( Object proxied ) { this.proxied = proxied; } public Object invoke( Object proxy, Method method, Object[] args ) throws Throwable { //在转调具体目标对象之前,可以执行一些功能处理//转调具体目标对象的方法return method.invoke( proxied, args); //在转调具体目标对象之后,可以执行一些功能处理 } }

0 0
原创粉丝点击