Зачем нам нужна общая библиотека поиска сервисов? - PullRequest
1 голос
/ 12 декабря 2010

У меня 3-х слойное приложение.Фронт, Бизнес, Уровень данных.Я использовал Microsoft Unity в качестве контейнера зависимостей.Я использовал NUnit с RhinoMock для тестирования приложения.

Я читал во многих статьях, чтобы представить общий уровень поиска сервисов.
** В каких scnerios мы должны ввести общий поиск сервисов?

  1. Какой слой будет заменен в проекте архитектурой, описанной выше?
  2. С каким уровнем он будет взаимодействовать в моем проекте?

  3. Является ли общий уровень поиска служб просто проектом веб-службы WCF, который взаимодействует с бизнесом и передним уровнем? **

Ответы [ 2 ]

1 голос
/ 12 декабря 2010

Зачем нам нужен общий сервисный локатор? библиотека

Нам это на самом деле не нужно, оно просто обеспечивает лучшее разделение. В основном это абстракция в верхней части внедрения зависимостей, поэтому клиенту не нужно знать, где находится сервис и как он реализован.

Обычно это идет к вашему клиентскому коду. Например, клиенту, который создает прокси-сервер и вызывает службу, не нужно создавать прокси-сервер, он запрашивает его у локатора службы.

1 голос
/ 12 декабря 2010

Я думаю, что вы имеете в виду общий способ определения местоположения зависимостей (то есть сервисов), поэтому в вашем примере это заменит Unity (или, возможно, Unity просто реализует общий интерфейс).

Таким образом, все виды фреймворков будут работать вместе немного проще, поскольку они имеют общий способ идентификации сервисов / плагинов и т. Д.

У нас уже есть много библиотек, которые достигают функциональности (Unity, Ninject и т. Д.), Но если фреймворк (например, MVC) хочет получить экземпляр какого-то интерфейса, он должен знать какая библиотека вы используете использование, и так как они не имеют общего интерфейса, это сложно. С помощью общего интерфейса вы можете указать MVC, откуда вы хотите получить объекты.

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