MVVM 패턴
- MVVM 패턴은 흔히 알려진 MVC 패턴에서 Controller를 빼고 ViewModel을 추가한 패턴이다.
MVVM 패턴의 장점
- View와 Model이 서로 전혀 알지 못하기에 독립성을 유지할 수 있다.
- 독립성을 유지하기에 효율적인 유닛 테스트가 가능하다.
- View와 ViewModel을 바인딩하기에 코드의 양이 줄어든다.
- View와 ViewModel의 관계가 N:1이다.
MVVM 패턴의 단점
- 간단한 UI에서 오히려 ViewModel을 설계하는데 어려움이 있을 수 있다.
- 데이터 바인딩이 필수적으로 요구된다.
- 복잡해 질수록 Controller처럼 ViewModel이 빠르게 비대해진다.
- 표준화된 틀이 존재하지 않아 사람마다 이해하는게 다르다.
- View - 사용자의 눈에 보이는 UI를 담당하는곳.
- Model - 데이터 처리(IO or DB 를 사용하여 데이터 저장하는 곳)
- View Model - View를 표현하기 위한 Model로, View에서 들어온 데이터를 가공하며, Model과의 통신 후, View단 과의 Binding을 통해 데이터를 자동으로 갱신시켜 주는곳
MVVM 패턴에 대한 개인 견해
MVVM 패턴은 WPF로 개발하는 경우를 제외하고 사용해본적은 없습니다.
왜냐하면 C#으로 개발할 경우 Winform으로 개발하면 WPF 처럼 XAML(View)와 behind 코드로 확실하게 나눠져있지 않고, binding을 하여 Model 값을 갱신시켜주거나 할때 굳이 MVVM을 사용하지않고 옵저버 패턴을 이용하여 notify로 상태나, 값 갱신을 시켜주었기 때문입니다.
WPF로 개발할 경우, 디자인과 개발의 확실한 분리를 하기에 프로젝트가 안정적으로 개발됩니다.
그렇기에 WPF로 개발할 경우는 MVVM 패턴 사용이 익숙해지면 좋을것 같네요.
'📚 Computer Science > Design Pattern' 카테고리의 다른 글
[Design Pattern] 싱글톤 패턴 (Singleton Pattern) (0) | 2022.10.06 |
---|