WPF 처음 배울 때 거의 공식처럼 들었던 말이 있다. 한 화면에는 하나의 ViewModel.
나도 그걸 그대로 믿었다. MainViewModel 하나 만들고 거기에 전부 넣기 시작했다.
처음엔 아무 문제 없었다. 진짜로.
문제가 시작되는 시점 화면에 기능이 조금씩 붙는다. 상단 검색 영역.
가운데 리스트. 우측 상세 패널.
저장 버튼. 엑셀 다운로드.
팝업 다이얼로그. 그러다 ViewModel 파일을 열어보면 뭔가 기묘해진다.
검색 조건 Property 10개 이상. SelectedItem.
SelectedItem의 세부 속성. 검색 커맨드.
저장 커맨드. 삭제 커맨드.
팝업 여는 로직. 이벤트 메시지 처리.
파일 길이 800줄. 처음엔 이렇게 생각한다.
“이 정도는… 다들 이러지 않나?” 진짜 문제는 그 다음이었다 수정하려고 파일을 열면 어디서부터 봐야 할지 모르겠다.
검색 로직을 고치다가 상세 패널 코드 건드리고, 리스트 바인딩이 깨진다. 이 로직이 왜 여기 있지?
그때 깨닫는...
원문 링크 : WPF, '1 화면 = 1 뷰모델'이라는 고정관념에 대하여