Нарушение взаимозависимости классов - PullRequest
0 голосов
/ 08 мая 2019

Я хочу разработать приложение, которое получит некоторую конфигурацию из сервиса.Это нужно делать периодически, как раз в день.Значение периодического интервала также хранится в конфигурации.

У меня есть два класса A и B. A отвечает за синхронизацию конфигурации из службы и хранит последнюю память в памяти.B отвечает за обслуживание других клиентов внутри приложения.Любой клиент, который хочет прочитать значение, свяжется с B. B будет использовать последнюю конфигурацию, сохраненную в памяти из A.

Здесь, внутри A, я пытаюсь получить интервал обновления из B и планировать его периодически.Это создает взаимозависимость между двумя классами.B зависит от A для последней кэшированной конфигурации, а A зависит от B для получения интервала обновления.Я не уверен, как мы можем сломать эту взаимозависимость.Может кто-нибудь помочь, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 09 мая 2019

«A» не должен иметь доступ к «B», но «B» или другой управляющий класс может изменить значение по умолчанию для свойства «A», которое определяет срок действия кэша (или период повторной синхронизации) в соответствии с конфигурацией и некоторые правила.

0 голосов
/ 08 мая 2019

Извлечение интерфейсов для A и B, они зависят от интерфейсов друг друга.Это позволит вашему коду зависеть от абстракций, а не от конкретных объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...