4

我有一个 DataAccess 类,它引用了一个接口。该接口表示要使用的缓存策略。

我希望缓存策略具有类似于 initalize() 方法的东西,该方法在启动时填充缓存。然而,该方法将需要 DataAccess 类来访问数据,我最终得到一个交叉引用。

我也不想用 setter 方法“污染”接口,因为并非所有实现都需要它。也最好在 DataAccess 类中没有设置器,因为我希望所有字段都是最终的。

我可以创建一个调用数据访问的附加层吗?

其他想法?

4

1 回答 1

1

您应该使用缓存查找类包装 DataAccess 类,该查找类仅在无法从其内部缓存中获取数据时才访问 DataAccess 类。正如您所提到的,这将包含一个额外的层,但根据您实现它的方式,它可以对应用程序代码透明(例如,通过使用 AOP)。

于 2012-03-21T07:11:39.030 回答