Skip to content

Демка разных подходов к организации DI

License

Notifications You must be signed in to change notification settings

lamp-ios/LampDI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LampDI

Демо проект с кодом доклада о разных способах реализации DI.

Содержит 4 таргета:

  • DITypes — типы инъекции зависимостей
  • ServiceLocator — реализация инъекции зависимостей через сервис-локатор
  • DynamicDI — реализация упрощенного динамического DI контейнера
  • StaticDI — реализация упрощенного статического DI контейнера

Для того чтобы не усложнять и уместиться в тайминг доклада, были сделаны следующие упрощения:

  • Инъекция только через конструктор
  • Всего 2 скоупа:
    • .prototype — зависимость создается каждый раз
    • .lazySingleton — зависимость создается всего 1 раз за жизнь контейнера
  • Потокобезопасность не учтена

Но эти упрощения как раз позволили оставить на виду суть каждого из способов.

About

Демка разных подходов к организации DI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages