Je commence juste avec l'injection de dépendance. J'ai lu le wiki Ninject et sa façon très claire d'injecter des dépendances où une seule instance de la dépendance est requise, en utilisant l'injection de constructeur, de propriété ou de méthode. Mais comment gérez-vous le cas où votre classe a besoin de construire des objets au cours de sa vie (après la construction)? Par exemple:Ninject - comment injecter pendant la durée de vie de l'objet?
class AddressBook
{
private List<IContact> _contacts;
public AddContact(string name)
{
_contacts.Add(****what?****)
}
}
La seule façon que je peux penser est d'utiliser l'injection de constructeur pour passer dans un IKernel et l'utiliser pour obtenir notre IContact:
class AddressBook
{
private IKernel _kernel;
private List<IContact> _contacts;
public AddressBook(IKernel kernel){ _kernel = kernel; }
public AddContact(string name)
{
_contacts.Add(_kernel.Get<IContact>(new Parameter("name", name)));
}
}
Mais comment pouvez-vous injecter le noyau? ? Quelle cartographie serait nécessaire? Est-ce la même approche?
Merci pour toute aide felix
Oui, c'est comme ça que je le ferais. http://kozmic.pl/archive/2010/06/22/how-i-use-inversion-of-control-containers-ndash-pulling-from.aspx –