C# LanguageВнедрение зависимости


замечания

Википедия: определение инъекции зависимостей:

В программной инженерии инъекция зависимостей представляет собой шаблон разработки программного обеспечения, который реализует инверсию управления для разрешения зависимостей. Зависимость - это объект, который может использоваться (услуга). Инъекция - это передача зависимости зависимому объекту (клиенту), который будет использовать его.

** На этом сайте есть ответ на вопрос. Как объяснить инъекцию зависимостей 5-летнему ребенку. Самый высоко оцененный ответ, предоставленный Джоном Муншем, дает удивительно точную аналогию, нацеленную на (воображаемого) пятилетнего инквизитора: когда вы идете и извлекаете вещи из холодильника для себя, вы можете создавать проблемы. Вы можете оставить дверь открытой, вы можете получить то, что мама или папа не хотят, чтобы вы имели. Возможно, вы даже ищете что-то, чего у нас нет или которое истекло. То, что вы должны делать, это заявить о необходимости: «Мне нужно что-нибудь выпить с обедом», а затем мы обязательно удостовериться, что у вас есть что-то, когда вы садитесь, чтобы поесть. То, что это означает с точки зрения объектно-ориентированного развития программного обеспечения, таково: сотрудничающие классы (пятилетние) должны полагаться на инфраструктуру (родителей), чтобы обеспечить

** Этот код использует MEF для динамической загрузки DLL и разрешения зависимостей. Зависимость ILogger разрешается с помощью MEF и вводится в класс пользователя. Пользовательский класс никогда не получает конкретную реализацию ILogger и не знает, какой или какой тип регистратора он использует. **

Внедрение зависимости Связанные примеры