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 클래스의 요구 사항입니다 상상 해보세요, 그래서 우리는이 생성자에 전달되어야합니다.
NInject를 사용하는 사람의 인스턴스를 어떻게 얻을 수 있습니까? IOC 컨테이너가 IPersonRepository를 통과해야하는 반면, 새로운 Person을 생성하는 앱의 어느 쪽인지에 의해 이름이 전달되어야합니다. 우리는 프로그래밍 언어의 의미 론적 힘의 일부를 잃어 가고있다 -
나는 이름 또는 저장소 중 하나가 대신 속성을 사용하여 주입 될 수 있지만,이 깨끗한 솔루션을하지 않을 것이라는 점을 이해합니다.
OK는 의미가 있습니다 - 코드에서 어떻게 작동하는지 알 수 있습니다. – cbp