[C# - Prism] 프리즘 예제 10 - CustomRegistrationsC#/Prism2023. 7. 26. 22:09
Table of Contents
안녕하세요, 반나무입니다.
이전 08, 09번 예제에서는 View와 ViewModel을 자동으로 연결하고, 연결 조건을 커스텀하는걸 해봤는데요
이번 예제에서는 수동으로 View와 ViewModel을 연결하는 방법을 안내합니다.
protected override Window CreateShell() => Container.Resolve<MainWindow>();
protected override void RegisterTypes(IContainerRegistry containerRegistry){}
// View와 ViewModel을 연결한다.
protected override void ConfigureViewModelLocator()
{
base.ConfigureViewModelLocator();
// type / type
ViewModelLocationProvider.Register(typeof(MainWindow).ToString(), typeof(CustomViewModel));
// type / factory
ViewModelLocationProvider.Register(typeof(MainWindow).ToString(), () => Container.Resolve<CustomViewModel>());
// generic factory
ViewModelLocationProvider.Register<MainWindow>(() => Container.Resolve<CustomViewModel>());
// generic type
ViewModelLocationProvider.Register<MainWindow, CustomViewModel>();
}
4가지 버전이 있는데, 해당 예제에 대한 설명을 봐도 어떤게 좋다는 특별한 답은 없는것 같습니다.
저는 짧고 편해보이는 generic type을 사용하고있습니다.
View와 ViewModel을 연결하는 예제를 모두 살펴봤습니다.
여러분들은 자동, 수동 어떻게 연결하는게 좋다고 생각되시나요?
저의 이제까지의 경험으로는 아직은 수동으로 연결하는것이 좋다고 생각됩니다.
프로젝트가 커짐에 따라 자동으로 연결하는것이 편하기는 하겠지만, 자동으로 연결되다보면 어떤 부분에서 꼬이는 타이밍이 나올거 같단 생각에 아직은 수동으로 연결하고있습니다.
더 많은 개발경험이 쌓이고 더 큰 프로젝트를 하다보면 언젠간 자동으로 넘어가기는 할 거 같네요 ㅎㅎ
23.08.05웬만하면 자동연결을 쓰는게 프로젝트 관리 측면이나 코드 라인수에 좋은 영향을 주는것 같습니다.
하지만 수동연결을 볼 필요도 없다는건 아닙니다. 이런 기능도 있구나 하며 한번씩은 사용해보는게 Prism과 친해지는 방법이라고 생각합니다.
참고 영상
반응형
'C# > Prism' 카테고리의 다른 글
[C# - Prism] 프리즘 예제 12 - UsingCompositeCommands (0) | 2023.08.06 |
---|---|
[C# - Prism] 프리즘 예제 11 - UsingDelegateCommand (0) | 2023.08.05 |
[C# - Prism] 프리즘 예제 09 - ChangeConvention (0) | 2023.07.25 |
[C# - Prism] 프리즘 예제 08 - ViewModelLocator (0) | 2023.07.25 |
[C# - Prism] 프리즘 예제 07 - Modules (0) | 2023.07.23 |
@반나무 :: 반나무_뿌리
3년차 WPF 개발자입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!