Date post: | 15-Apr-2017 |
Category: |
Software |
Upload: | boris-modylevsky |
View: | 215 times |
Download: | 3 times |
Slide Header…
QualiSystems Proprietary & Confidential
Wednesday, May 3, 2023
IoC Containers: Theory and PracticeBoris Modylevsky
Slide Header…
QualiSystems Proprietary & Confidential2
What is dependency?
Slide Header…
QualiSystems Proprietary & Confidential
• Code is tightly coupled
• Difficult to isolate when testing
• Difficult to maintain:
• If I change ComponentX how to I know what else will affect? Did I break anything?
What problems do dependencies create?
Slide Header…
QualiSystems Proprietary & Confidential
• The ability to supply (inject) an external dependency into a software component.
What is Dependency Injection?
Slide Header…
QualiSystems Proprietary & Confidential
•Constructor•Setter•Method
Types of Dependency Injection
Slide Header…
QualiSystems Proprietary & Confidential
Constructor Injection
Slide Header…
QualiSystems Proprietary & Confidential
Attribute Injection
Slide Header…
QualiSystems Proprietary & Confidential
Method Injection
Slide Header…
QualiSystems Proprietary & Confidential
• Configuration (XML/JSON)
• Explicit
• Convention
• Auto wiring
Registration Types
Slide Header…
QualiSystems Proprietary & Confidential
IoC Containers in .NET
AutoFac fFastInjector Hiro Maestro Munq Speedioc TinyIo
c
Caliburn.Micro Funq IfInjector MEF Ninject Spring.NE
T Unity
Catel Grace LightCore MEF2 Petite Stiletto Wind
sor
DryIoc Griffin LightInject
MicroSliver QuickInject Structure
Map No
Dynamo HaveBox LinFu Mugen SimpleInjector
StyleMVVM Unity
Slide Header…
QualiSystems Proprietary & Confidential
Popular IoC Containers
Unity Ninject AutoFac StructureMap Windsor0
0.5
1
1.5
2
2.5
3
3.5
Downloads in millions
Downloads in millions
Slide Header…
QualiSystems Proprietary & Confidential
Demo
Slide Header…
QualiSystems Proprietary & Confidential
Source: http://tinyurl.com/h7qntep by Nathanael Mann
Performance Comparison
Slide Header…
QualiSystems Proprietary & Confidential
Visit our Website