2.
Microsoft Unity
◦ Simple, fonctionnel et populaire
Castle Windsor
◦ Complexe mais le plus complet
Microsoft Extensibility Framework
◦ Le Framework d’extension d’application
5.
Déclaration des dépendances par propriétés ou constructeur
public class Service : IService
{
[Dependency]
public IDataAccess DataAccess { get; set; }
}
Un container pour piloter l’inversion de contrôle
var container = new UnityContainer();
Enregistrement des dépendances
container.RegisterType<IService, Service>();
Résolution des dépendances avec injection de dépendances
container.Resolve<IService>();
7. Unit of Work
Unit of Work
Dépendance
partagé
Services
Dépendance
partagé
Dépendances locales
Services
Services
Application
8.
Disponible dans le Fx Castle Windsor.
API fluent d’enregistrement des dépendances
Permet de parcourir des classes, namespace,
assembly et d’effectuer différentes
configurations
9.
Par défaut dans Castle Windsor.
Manuellement dans Unity.
Délègue une part des enregistrements des
dépendances
Permet les approches où les assemblies se
configurent elles mêmes
10.
La spécialité de MEF
Les implémentations se déclarent elles
mêmes
Approche plug-in par découverte et
chargement dynamique