4

DataAccessクラスがあり、インターフェイスへの参照があります。インターフェイスは、使用するキャッシュ戦略を表します。

キャッシュ戦略には、起動時にキャッシュを埋めるinitalize()メソッドのようなものが必要です。ただし、そのメソッドでは、データにアクセスするためにDataAccessクラスが必要になり、相互参照が発生します。

また、すべての実装で必要になるわけではないため、setterメソッドを使用してインターフェイスを「汚染」したくありません。また、すべてのフィールドをfinalにしたいので、DataAccessクラスにセッターがないことが望ましいです。

データアクセスを呼び出す追加のレイヤーを作成できますか?

他のアイデア?

4

1 に答える 1

1

内部キャッシュからデータを取得できない場合にのみ DataAccess クラスにアクセスする Cache ルックアップ クラスで DataAccess クラスをラップする必要があります。あなたが言及したように、これは余分なレイヤーで構成されますが、実装方法によっては、アプリケーション コードに対して透過的にすることができます (たとえば、AOP の使用によって)。

于 2012-03-21T07:11:39.030 に答える