我有一个DataAccess类,它引用了一个接口。该接口表示要使用的缓存策略。
我希望缓存策略有类似于initalize()方法的东西,它在启动时填充缓存。但是,该方法需要DataAccess类才能访问数据,而我最终得到了一个交叉引用。
我也不想用setter方法“污染”接口,因为并不是所有的实现都需要它。另外,最好在DataAccess类中没有设置器,因为我希望所有的字段都是最终的。
我可以创建一个额外的层来调用数据访问?
其他想法?
发布于 2012-03-21 15:11:39
您应该使用缓存查找类包装DataAccess类,该类仅在DataAccess类无法从其内部缓存中获取数据时才访问该类。正如您已经提到的,这将由一个额外的层组成,但根据您实现它的方式,它对应用程序代码是透明的(例如,通过使用AOP)。
https://stackoverflow.com/questions/9799921
复制相似问题