Sono nuovo per i contenitori IOC e sto iniziando con NInject.Iniezione del costruttore con altri argomenti del costruttore, non dipendenti
Cosa si fa se si desidera che il costruttore disponga di parametri che non siano servizi e non sia necessario creare un'istanza dal contenitore IOC?
Ad esempio:
public class Person
{
private readonly string _name;
private readonly IPersonRepository _repository;
public Person(string name, IPersonRepository repository)
{
_name = name;
_repository = repository;
}
......
}
Immaginate che nome è un requisito della classe Person, quindi, al fine di garantire che una persona ha sempre un nome, è necessario che essa sia passata in al costruttore.
Come si ottiene un'istanza di Person utilizzando NInject? Il nome deve essere trasferito da qualsiasi parte dell'app che sta creando una nuova Persona, mentre il contenitore IOC deve passare nel Repository IPerson.
Capisco che il nome o il repository potrebbero essere iniettati usando una proprietà, ma questa non sarebbe una soluzione pulita - stiamo perdendo parte della potenza semantica del linguaggio di programmazione.
OK ha senso - Vedo come funzionerebbe nel mio codice – cbp