Model-Model of View-View(MVVM) Pattern
디자인 패턴중 하나인 MVC는 1979년에 그 개념이 나왔다.(1980년이가?) 2004년 마틴파울러가 PM 패턴을 말하였고, 그후 MVP(Model-View-Presenter) 패턴, MVVM 패턴이 나왔다. 10여년전에 CGI/C를 이용해 웹페이지를 만들때 View를 분리해보았다. 함수포인터를 이용해 View를 교체하였는데... 그때가 즐거웠다. ㅋ 또.. 주제하고는 관련없는 ... MVVM패턴은 구글에서 mvvm 하면 관련 자료가 많이 나온다. 먼저 msdn 자료( http://msdn.microsoft.com/ko-kr/magazine/dd419663.aspx )와 codeproject 자료( http://www.codeproject.com/KB/WPF/MVVMQuickTutorial.aspx ) 가 정리가 잘되어있었다. 이해할 수 있을만큼 예제와 설명이 있다. 역할을 정리해보면 ... View : User Interface 이다. data를 표현해준다. user와 interaction한다. ViewModel : View에서 필요한 데이터와 사용자 입력에서 model과 관계를 처리한다. Model : Data와 Buisiness logic 을 처리한다. Model은 ViewModel의 존재를 모르고, ViewModel은 presenter에서 처럼 view의 참조는 필요없다. WPF의 이벤트(Event) 시스템을 이용해, ViewModel에서 데이터 변경이 일어날때 View는 해당 이벤트를 수신하여 View를 다시 랜더링한다. 이때 WPP에서 View는 보통 xmal로 작성되며 DataContext 를 ViewModel로 참조, 바인딩된다. 데이터의 validate는 Model이 담당하며 ViewModel은 View의 추상화이다. MVVM은 WPF에서 좀더 특화된 PM패턴이라고 위 msdn링크에서는 말하고 있다. ...