DataAccessクラスがあり、インターフェイスへの参照があります。インターフェイスは、使用するキャッシュ戦略を表します。
キャッシュ戦略には、起動時にキャッシュを埋めるinitalize()メソッドのようなものが必要です。ただし、そのメソッドでは、データにアクセスするためにDataAccessクラスが必要になり、相互参照が発生します。
また、すべての実装で必要になるわけではないため、setterメソッドを使用してインターフェイスを「汚染」したくありません。また、すべてのフィールドをfinalにしたいので、DataAccessクラスにセッターがないことが望ましいです。
データアクセスを呼び出す追加のレイヤーを作成できますか?
他のアイデア?