This project has moved. For the latest updates, please go here.

Custom Dependency Injection container is used (see implementation in PhoneGuitarTab.Core project). It was written a while ago to support aspect-oriented programming via interception. Proxy classes should be built in compile time to support this feature.

Dependency Injection container is created as private variable in ComponentRoot and it isn't shared anywhere. However, DI container registers itself and it is consumed in IBootstrapperPlugin classes via property injection. These plugins should register all specific services (e.g. database, file system, diagnostic, etc.) in container and perform initialization logic. It should be avoided to use container directly in all other cases. Otherwise, it leads to well known antipattern - ServiceLocator.

All registered dependencies are resolved on demand.

All dependencies are consumed via property or constructor injections.

Last edited Dec 7, 2013 at 11:33 PM by Ilya_Builuk, version 7


No comments yet.