카테고리 없음

[씨#] WPF ViewModel의 Castle Windsor 생성자 주입

행복을전해요 2021. 2. 7. 18:41

나는 기사를 썼다 보기 모델에서 DI를 달성하기 위해 WPF로 성 윈저 통합에 대해 몇 년 전. 당신이 찾고있는 것일 수도 있습니다.

-------------------

Castle Windsor의 세부 사항에 익숙하지 않지만 일반적으로 OViewModel을 다음과 같이 구성합니다.

public class OViewModel
{
  public IData ThisData { get; set; } //private set??
  
    public OViewModel(IData _thisData)
      {
          ThisData = _thisData;
              InitializeComponent();
                }
                }
                

그것은 생성자 주입이 될 것입니다. 다른 방법으로 매개 변수 주입이라는 용어를 검색 할 수 있습니다.

그러나 기본적으로 OViewModel이 컨테이너에 의해 해결되면 IData를 해결하는 방법을 알고 자동으로 해결합니다.

물론 이것은 단지 일을 백업 할뿐입니다-OViewModel을 생성하는 것은 무엇이든 container.Resolve를 사용해야하고 당신은 그것을 원하지 않습니다. 따라서 해당 부모 개체에 뷰 모델 (또는 인터페이스) (또는 팩토리 개체)을 삽입 할 수 있습니다. 따라서 모든 것을 시작하기 위해 컨테이너에서 해결해야하는 애플리케이션의 루트 인 단일 개체가 생길 때까지 체인을 백업하십시오.

Castle Windsor의 세부 사항에 대해 더 많은 지식을 가진 사람이 더 자세한 정보를 제공 할 수 있기를 바랍니다.



출처
https://stackoverflow.com/questions/22050258