Я новичок в контейнерах IOC, и я начинаю работу с NInject.Впрыск конструктора с другими, без зависимостей, аргументы конструктора
Что вы делаете, если хотите, чтобы ваш конструктор имел параметры, которые не являются службами, и не нужно создавать экземпляр контейнером IOC?
Например:
public class Person
{
private readonly string _name;
private readonly IPersonRepository _repository;
public Person(string name, IPersonRepository repository)
{
_name = name;
_repository = repository;
}
......
}
Представьте себе, что имя является требованием класса Person, так, чтобы гарантировать, что человек всегда имеет имя, мы требуем, чтобы он был принят в конструктор.
Как мы можем получить экземпляр Person с использованием NInject? Имя должно быть передано в зависимости от того, какой бит приложения создает новое лицо, в то время как контейнер IOC должен пройти в IPersonRepository.
Я понимаю, что либо имя, либо репозиторий можно было бы вводить с использованием свойства вместо этого, но это не было бы чистым решением - мы теряем семантическую силу языка программирования.
OK имеет смысл - я вижу, как это будет работать в моем коде – cbp