锁定老帖子 主题:我的酒窝
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-12-14
俺重写了一下
1 提出专门的对外接口. public class Proxy { public static Object proxy(Object target, Object interceptor) public static Object proxy(Class asType, Object target, Object interceptor) public static Object proxy(Class asType, Object interceptor) 2 对于缓存中的Method新用一个对象(MethodKey)作为Key 3 对于dock优先级问题用strategy模式提出来,并提供默认实现(现提供3种实现) 4 添加参数, 可选择是否intercept Object对象中的方法(在上面3个方法中另加3个方法). 俺重写后,共8个类,4个关于dock优先级的strategy类加起来驶200行,4个核心类200行(不过俺没写注释)-_- |
|
返回顶楼 | |
发表时间:2006-12-14
公司里不能上传
主要还是楼主的核心代码, 不过看起来稍有点层次感,提供一起扩展性,不会侵权吧,呵呵 |
|
返回顶楼 | |
发表时间:2006-12-14
shaucle 写道 公司里不能上传
主要还是楼主的核心代码, 不过看起来稍有点层次感,提供一起扩展性,不会侵权吧,呵呵 我会用apache 2.0 license。你只要代码里保留我的注释,怎么改都行的。 |
|
返回顶楼 | |
发表时间:2006-12-16
项目搞定了。
http://dimple.codehaus.org |
|
返回顶楼 | |
发表时间:2006-12-16
问一下楼主为什么觉得采用aop的方式不好?用AspectJ来实现这个功能,就很简单的几句话啊。
|
|
返回顶楼 | |
发表时间:2006-12-16
aspectj和这个做的不同。它是静态的,而dimple是动态的。
另外你做测试的stub也用aspectj么? |
|
返回顶楼 | |
发表时间:2006-12-16
aspectJ也可以动态的,测试本来就是构件的一个方面(aspect),我看不出有什么充分的理由不能用。
|
|
返回顶楼 | |
发表时间:2006-12-16
好啊。show一下aspectj怎么做这两个场景?
|
|
返回顶楼 | |
发表时间:2006-12-16
aspectJ支持在class loading的时候织入代码,但是还不支持在runtime时纯动态地织入。不过,我觉得ajoo举的这个例子,即使需要点动态的色彩,在class loading时能织入代码也应该可以满足需要了吧?
|
|
返回顶楼 | |
发表时间:2006-12-16
俺还就是只想说说。
在interface上定义切点,用Proxy得到代理类,around想要处理的方法。 |
|
返回顶楼 | |