Skip to content

Vanchegs/ServiceLocator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

ServiceLocator: шаблон проектирования для внедрения зависимостей в C#

Цель

Этот проект предоставляет реализацию шаблона проектирования ServiceLocator на C#, который позволяет легко внедрять зависимости в ваши проекты.

Описание шаблона проектирования

ServiceLocator - это шаблон проектирования, который позволяет разрабатывать приложения с ослабленной связью, предоставляя централизованную точку доступа к зависимостям. Он решает проблему поиска и создания объектов-зависимостей, которая возникает при использовании традиционных подходов к внедрению зависимостей.

Основные особенности

  • Конфигурируемый реестр служб: вы можете определить и зарегистрировать все зависимости приложения.
  • Магистраль для доступа к службам: приложения могут легко получать зависимости через магистраль, используя поиск по типу или имени.
  • Возможность расширения: вы можете создать собственные реализации реестра и магистрали служб для адаптации к различным сценариям.

Использование

Чтобы использовать ServiceLocator, просто добавьте нужную реализацию в свое приложение и зарегистрируйте все необходимые зависимости. Затем вы можете получить зависимости из любой части приложения через магистраль ServiceLocator.

Пример использования

// Регистрация зависимостей в реестре сервисов
ServiceLocator.Register<IService, MyService>();

// Удаление сервиса
ServiceLocator.Deregister<MyService>();

// Получение сервиса
IMyService myService = ServiceLocator.GetService<MyService>();

About

Service Locator and nothing else)

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages