.NetFramework/WPF
MVVM 개념
ETIT
2020. 6. 21. 11:29
MVVM 모델은 MVC(Model-View-Contorl)패턴에서 출발했다. MVC 패턴은 전체 project 를 model, view 로 나누어 data 와 user interface 를 분리하고, 제어를 control 에서 하겠다는 생각에서 나왔다.
하지만 view 와 control 을 완전히 분리하기는 힘들었고, project 가 커지면서 그 경계가 모호하게 되는 경우가 많았다. 이에 대한 대안으로 MVP(Model-View-Presenter), view 와 view 의 상태를 분리하는 PM(Presentation Model) 등이 새롭게 등장하였다. MVVM 은 WPF 를 위해 기존 모델들을 수정하고 새롭게 ViewModel 을 정의 하였다.
Model : 화면과 관련된 데이터요소와 비즈니스 로직을 작성하는 곳
ViewModel : 화면의 동작방식 및 흐름을 표현하는 곳(INotifyPropertyChanged, Command의 개념이 있습니다.)
View : 화면에 보여지는 구성요소 디자이너적인 요소