У меня есть класс DataAccess, и у него есть ссылка на интерфейс. Интерфейс представляет стратегию кэширования для использования.
Мне бы хотелось, чтобы в стратегии кэширования был что-то вроде метода initalize (), который заполняет кеш при запуске. Однако этот метод потребовал бы, чтобы класс DataAccess получил доступ к данным, и я получаю перекрестную ссылку.
Я также не хочу «загрязнять» интерфейс методами setter, потому что не всем реализациям это понадобится. Также желательно, чтобы в классе DataAccess не было сеттера, так как я хочу, чтобы все поля были окончательными.
Я мог бы создать дополнительный слой, который вызывает dataaccess?
Другие идеи?