Терминологический вопрос "Фасад" - PullRequest
0 голосов
/ 01 октября 2010

У меня есть вопрос терминологии / моделирования о представлении компонентов в сервисе.Рассмотрим ..

Сценарий A:

ICatalogService --exposes -> PublishingManager.Publish

ICatalogService --exposes -> RetrievalManager.Retrieve

Сценарий B:

ICatalogService --exposes -> CatalogManager.Publish

ICatalogService --exposes -> CatalogManager.Retrieve

Представляет ли ICatalogService в сценарии A «фасад»Как это реализует более 1 компонента?Подходит ли какая-то другая терминология?

Для пуриста есть ли какие-либо преимущества в разделении менеджеров «публикации» и «поиска» (AKA: контроллер), если они управляют одними и теми же типами объектов?Вы используете один "CatalogManager"?

1 Ответ

1 голос
/ 01 октября 2010

Идея фасада в том, что он скрывает сложность за упрощенным интерфейсом . Тот факт, что в сценарии A вы явно выставляете PublishingManager & RetrievalManager, кажется, не соответствует этому определению (трудно быть окончательным, не зная больше о вашем коде).

К вашему второму вопросу. Я предполагаю, что эти два сервиса дополняют друг друга и используются для обеспечения связи между издателями и поисковиками. Если это правда, тогда пара мыслей:

  1. Мне было бы удобно поместить оба в один и тот же сервис, поскольку основная цель - создать связь между издателями и ретриверами
  2. Если я правильно понял, это похоже на шаблон publish / subscribe . Может быть стоит взглянуть на это. Также рассмотрите возможность использования «Подписаться» вместо «Получить», как это должно быть более знакомым.
...