java中用动态代理类实现记忆功能
作者: 佚名, 出处:中国IT实验室, 责任编辑: 包春林,
2008-05-13 04:00
记忆是衍生自lisp,python,和perl等过程性语言的一种设计模式,它可以对前次的计算结果进行记忆。
这是很之前的实现pibinarydigitscalculator的一种简单的refactored版本. cachingbinarydigitscalculator包装了binarydigitscalculator句柄,并增加了缓存,供 calculatebinarydigit的方法调用. 这种方法提高了代码的可读性与可维护性. 用户不能直接使用 binarydigitscalculator接口来实现算法,所以,如果需要关闭缓存块,将是很容易实现的.
还有,合适的测试程序很容易写出来.比如,我们写一个假的binarydigitscalculator实现,每次calculatebinarydigit被调用,赋予相同的参数,返回不同的值. 这样,我们就能测试缓存是否工作了,因为如果每次都返回相同的值,则证明缓存是正常工作了. 这种测试在之前那种简单的实现是不可能的
- 本文关键词:

