2012-03-28 3 views
0

기존 C++/CLI 응용 프로그램을 C#/WPF로 옮깁니다. 초기 응용 프로그램이 작성되었을 때 어떤 설계도 수행되지 않았습니다. 응용 프로그램에는 하나 이상의 이미지 파일 (한 번에 하나의 이미지 만 표시됨)을로드 할 수있는 기능이 있으며 현미경에 연결하여 실시간으로 이미지를보고 저장하는 옵션도 있습니다 (동일한 이미지 상자에서 현미경으로 보여지는 이미지 로드 된 것). 그런 다음 설정이 다른 많은 대화 상자가 있습니다. 기본보기에는 현재로드 된 이미지 파일과 선택한 설정에 따라 다른 종류의 계산을 수행하는 버튼이 있습니다.대화 상자가있는 MVVM WPF 과학 응용 프로그램

가 더 많은 기능이있는 다른 창으로로드 된 이미지를 전송하는 버튼입니다 -로드 된 파일에서 영화를 만드는, 통계 등을 계산

나는 C#/WPF 세계에 비교적 새로운 해요,하지만 만들고 싶어 좋은 디자인. 나는 약간의 조사를했고 MVVM이 WPF에서 주로 사용되는 패턴 인 것처럼 보입니다. 이제 PRISM에 대해 읽습니다. MVVM에서 어떤 일이 벌어지고 있는지 어느 정도 이해하고 있지만 논리를 내 상황에 아직 적용 할 수는 없습니다. MVC에 충실해야할까요?하지만 WPF에서 사용하는 방법에 대한 많은 정보는 없습니다 ... 어디에서 대화 상자를 넣을 지에 대한 예제를 찾았지만 어디에서 계산해야할지 모릅니다 ... look 그들은 M/MV/V 중 하나에 속하지 않는 것처럼. 또한 하나의 모델 만 많은 ViewModel과 연관시킬 수 있는지 이해할 수 없습니다.

답변

1

우선, 이것은 일반적인 오해입니다.

MVVM은 MVC처럼 패턴입니다. MVVM을 사용하는 데 도움이되는 다양한 프레임 워크가 있습니다. MVVMLight, Caliburn은 몇 가지 예입니다. MVVM이 무엇인지 배우고 다른 구현을 찾아야한다고 생각합니다. 개인적으로 필자는 자신의 기본 View Model 클래스를 작성했으며 MVVM에 모두 포함되었습니다.

PRISM은 프레임 워크이며 사실 MVVM과 거의 관계가 없습니다. 그것은 INotifyPropertyChanged 구현을 제공하지만 그것은 그것에 관한 것입니다.

PRISM은 큰 프레임 워크이므로 학습하는 데 시간이 걸립니다. 오늘 밤에 시작할 수있는 것이 아닙니다. 그러나, 그것은 당신이 제공하는 모든 것을 사용할 필요가없고 필요한 것만 사용할 수 있다는 것을 의미하는 "la cart"입니다.

더 많이 배울수록 PRISM은 무거운 UI로 큰 비즈니스 응용 프로그램을 개발할 때 발생할 수있는 모든 문제를 해결한다는 것을 알게되었습니다. 나를 위해, 학습에 투자 한 시간은 확실히 보상 받았습니다.

큰 응용 프로그램을 빌드 할 때 필요한 영역, 모듈성, 메시징, IoC 및 기타 기능을 제공합니다. 더 큰 그림을 본 후에 MVVM은 작고 쉽게 보입니다.

+0

감사합니다. 나는 아마 나의 질문을 정확하게 말하지 않았다. MVVM이 하나의 패턴이라는 것을 이해합니다. 단지 이것이 내가 사용해야하는 패턴이라는 것을 확신하지 못했습니다. 저는 MVC와 C++에 익숙하며 MVVM, C#, WPF에 익숙하지 않습니다. PRISM 대신 Caliburn.Micro를 사용하기 시작했습니다. 빠른 시작이었습니다. 그리고 내가 가진 질문은 어디에서 응용 프로그램 로직이 Model이나 ViewModel에 속하지 않았는지 읽었 기 때문에 계산을 넣어야하는 부분입니다 ... – user1298416

관련 문제