我正在制作应用程序,我正在实现缓存。问题是DAO是在另一个服务中实现的。 为避免代码重复,我的想法是在我的服务中使用通用缓存。然后,根据所调用的方法,它验证相应的缓存,并且如果它不存在,则调用与作为参数传递的方法相关联的DAO。有没有办法做到这一点? 注意:我在我的应用程序中使用java 1.6
答案 0 :(得分:0)
我想你需要一个适配器模式。天真的实现可能是
class AdapterA implements Adapter<A> {
private A;
@Override
public void getValue() { return getA();}
}
然后当你得到A,B或C的实例时,你将它包装在适当的适配器中。之后你可以调用getValue而不管底层的特定类型。
另一种方法。如果有人说出模式是什么(可能是代理?),我将不胜感激:
class ProxyImpl implements Proxy {
@Override
public void doAction(<? extends DAO> dao) {
if (dao instance of A) { ((A)dao).getA()
} else if (dao instance of B) { ((B)dao).getB()