Могут ли сервисы на уровне сервисов взаимодействовать друг с другом? - PullRequest
6 голосов
/ 23 апреля 2011

У меня есть сервисный уровень, на котором мой PredictionService должен знать, существует ли определенная раса. RaceService имеет метод DoesRaceExist(), но я не уверен, могут ли службы взаимодействовать.

Это также приводит меня к некоторым другим проблемам. Допустим, у меня есть страница Predictions.aspx. Я использую MVP, поэтому при первом запросе страницы запускается метод Initialize() в докладчике. Predictions.aspx требуется много информации, от прогнозов и от гонок, возможно, даже больше. Должен ли я запросить все эти фрагменты у соответствующих служб или я должен запросить базу данных только один раз и получить всю необходимую мне информацию за один раз? Проблема в том, какую службу выбрать, а затем, что служба, вероятно, делает больше, чем просто передает то, для чего она предназначена.

Какой лучший способ пойти?

1 Ответ

8 голосов
/ 23 апреля 2011

Если serviceA требуется получить данные или выполнить действие для serviceB, можно вызвать serviceB из serviceA.

Однако вы можете оказаться в ситуации, когда службы вызывают друг друга повсюду - если это произойдет, рассмотрите возможность использования фасад , который управляет различными службами (чтобы они не вызывали каждый посмотри напрямую).

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