|
这个主题共有 5 回复 / 1 页 [
]
|
|
|
|
|
|
请问Proxy, InvocationHandle的问题
|
发表: 2005年01月20日 10:10
|
回复
|
|
在一个贴子里看到的 "使用Proxy.newProxyInstance包装对象池,免去returnObject方法调用 "
我想问一下, 这个用Proxy, InvocationHandle来处理, 有什么好处么?
谢谢了@
|
|
|
|
|
|
Re: 请问Proxy, InvocationHandle的问题
|
发表: 2005年01月20日 13:38
|
回复
|
|
|
可以干净了原来的代码,统一使用一个类就可以实现对象池。关键你需要了解对象池的使用。
|
|
|
|
|
|
Re: 请问Proxy, InvocationHandle的问题
|
发表: 2005年01月20日 14:13
|
回复
|
|
谢谢Banq, 有这方面的资料可以提供一下么?
谢了!
|
|
|
|
|
|
Re: 请问Proxy, InvocationHandle的问题
|
发表: 2005年01月21日 13:55
|
回复
|
|
to banq 兄: 下面是我写的代码, 我发现, 如果提供一个工厂方法 getSimple 这时, 就造成了和客户端紧密偶合, 有什么办法解决呢? import java.lang.reflect.Proxy; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method;
interface Simple { void sayHello(); }
class SimpleImpl implements Simple { public void sayHello() { System.out.println("Hello"); } }
class AOPHandler implements InvocationHandler { public static String SAYHELLO_METHOD_NAME = "sayHello"; Simple simple = new SimpleImpl(); public static Simple getSimple() { return (Simple)Proxy.newProxyInstance(SimpleImpl.class.getClassLoader(), SimpleImpl.class.getInterfaces(),new AOPHandler()); } public Object invoke(Object proxy, Method method, Object[] args) throws Throwable{ Object obj = null; //if (SAYHELLO_METHOD_NAME.equals(method.getName())) { System.out.println("before say hello method"); //} else { obj = method.invoke(simple, args); //} return obj; } }
public class ProxyTest { public static void main(String[] args) { Simple simple = AOPHandler.getSimple(); simple.sayHello(); } }
|
|
|
|
|
|
Re: 请问Proxy, InvocationHandle的问题
|
发表: 2005年01月22日 08:11
|
回复
|
|
下面是我写的代码, 我发现, 如果不提供一个工厂方法 getSimple 这时, 就造成了和客户端松散偶合, 有什么办法解决呢?
public class ProxyTest { public static void main(String[] args) { Simple simple = (Simple)Proxy.newProxyInstance(SimpleImpl.class.getClassLoader(), SimpleImpl.class.getInterfaces(),new AOPHandler()); simple.sayHello(); }
|
|
|
|
|
|
Re: 请问Proxy, InvocationHandle的问题
|
发表: 2005年01月22日 14:29
|
回复
|
|
|
如果用动态代理来实现缓冲池的话, 到是不会有耦合的总是, 但是, 如果是一个商业逻辑的话,比果, 我要记录一个逻辑方法的日志, 就会出现这样的问题
|
|
|
|