Я немного запутался в шаблоне проектирования Service Locator.Шаблон локатора обслуживания - как бороться с более чем одной реализацией одного и того же сервисного интерфейса
Это очень простой вопрос относительно этого шаблона, но я не мог понять: что делать, если у меня есть несколько классов, реализующих некоторый интерфейс IServiceX? Как локатор разрешит, какой экземпляр я ищу?
Например, я мог бы зарегистрироваться:
ServiceA реализации IServiceX ServiceB реализующий IServiceX
кажется вполне возможным, но я не уверен. Предположим, у меня есть два типа службы обмена сообщениями (тот же сервисный интерфейс), и я хочу использовать обе реализации во время выполнения. Как локатор будет выбирать между этими различными реализациями?
Замечательно знать это! Несмотря на то, что наиболее распространенное использование, которое я видел, это реализация 1: 1 (в примерах и учебниках). – natenho