WPF 프로젝트를 연습해보다가 프로젝트를 개선할 수 있는 방법을 찾아서 정리하고자 합니다.
Window안에 UserControl을 선언해서 View-ViewModel간의 데이터를 전달하는 경우가 많았습니다.
특히, 여러 곳에서 호출되는 View-ViewModel은 다양한 초기 데이터를 받게됩나다.
기존에는 생성자 Overriding을 했었고, 일정 부분 코드가 중복되는 건 어쩔 수 없다고 생각했습니다.
그 때, 찾아낸 BASE에 대해 정리해봅니다.
기존 ViewModel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public ViewModelMain(string data1)
{
Data1 = data1;
}
public ViewModelMain(string data1, string data2)
{
Data1 = data1;
Data2 = data2;
}
public ViewModelMain(string data1, string data2, string data3)
{
Data1 = data1;
Data2 = data2;
Data3 = data3;
}
|
상속 ViewModel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public ViewModelMain(string data1)
{
Data1 = data1;
}
public ViewModelMain(string data1, string data2) : this(data1)
{
Data2 = data2;
}
public ViewModelMain(string data1, string data2, string data3) : this(data1, data2)
{
Data3 = data3;
}
|
⭐ 초기화 로직의 중복을 줄일 수 있음
⭐ 중복을 제거하여 수정 시, 유지보수성을 높임
'C# > WPF' 카테고리의 다른 글
[WPF] View, ViewModel Singleton (0) | 2024.05.12 |
---|---|
[WPF] 생성자 Overloading (2) (0) | 2024.05.11 |
[WPF] 한글 Encoding ANSI / UTF8 (0) | 2024.04.22 |
[WPF] Static Resource와 Dynamic Resource (0) | 2024.04.20 |
[WPF] MaterialDesignTheme 적용 (0) | 2024.04.13 |