Я только начинаю с внедрения зависимости. Я прочитал вики Ninject, и в ней очень ясно, как внедрить зависимости, где требуется один экземпляр зависимости, с использованием конструктора, свойства или внедрения метода. Но как вы справляетесь со случаем, когда вашему классу нужно создавать объекты в течение его жизненного цикла (после создания)? Например:
class AddressBook
{
private List<IContact> _contacts;
public AddContact(string name)
{
_contacts.Add(****what?****)
}
}
Единственный способ, которым я могу думать, - это использовать инжекцию конструктора для передачи в IKernel и использовать это для получения нашего 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)));
}
}
Но тогда как вы на самом деле можете внедрить ядро? Какое отображение потребуется? Это даже правильный подход?
Спасибо за любую помощь
Феликс