【问题标题】:How can I avoid a cross-reference between 2 Objects?如何避免 2 个对象之间的交叉引用?
【发布时间】:2012-03-21 06:56:23
【问题描述】:

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

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

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

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

其他想法?

【问题讨论】:

  • 您可以发布一些模拟代码以使其更清晰吗?

标签: java oop strategy-pattern cross-reference


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 2022-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多