Javascript (WinJS) 및 HTML을 사용하여 간단한 Windows 8 LOB 응용 프로그램을 작성합니다. 응용 프로그램에서 제 3 자 종속성을 갖고 싶지 않습니다. 응용 프로그램 구조를 결정할 때 어떤 패턴이 기술과 WinJS 프레임 워크에 가장 잘 맞는지 토론하고 있습니다.WinJS : MVVM, MVP 또는 MVC가 더 잘 맞습니까?
이러한 패턴을 사용했을 때의 주요 장점/단점에 대한 초기 생각은 다음과 같습니다.
MVVM
- 프로 : 뷰 모델에서 비즈니스 로직을 완전히 분리 만들기 (단위)를 BL 쉽게
- 콘 테스트 : WinJS는 하나의 시간을 가지고 있으며, 상자에서 구현 된 단방향 데이터 바인딩, 양방향 데이터 바인딩 및 명령 (이벤트에 바인딩)은 그렇지 않습니다. 이것들은 사용자 정의 방식으로 구현되어야합니다 (뷰에서 주로 선언적 구문을 사용하려는 경우 까다로울 수 있습니다).
MVP
- 프로 : 발표자가 여전히 뷰 로직과 함께 모든 비즈니스 로직을 포함하고 (단위) 자체 테스트 할 수 있습니다. 이 접근 방식에서는 데이터 바인딩이 필요하지 않습니다.
- 단점 : MVVM의 경우보다보기 및 발표자 코드가 더 자세하게 표시되므로 상태 변경에 대해 서로 알릴 필요가 있습니다. 보기에서 이벤트를 발표자로 전달해야하며 발표자는 상태가 변경되면보기를 업데이트해야합니다.
MVC
- 프로 :보기는 매우 가볍고 데이터가 하나 이러한 접근 방식 필요하지 바인딩.
- 단점 : 컨트롤러가 비즈니스 로직을 포함 할뿐만 아니라 입력 이벤트 (예 : 키보드 및 마우스 이벤트)를 등록하고 처리해야합니다. MVVM의 ViewModel 및 MVP의 Presenter와 비교하면이 클래스는 가장 부풀어 오르고 (단위) 테스트가 다소 어려울 것입니다.
이 항목을 기반으로이 앱을 빌드 할 때 MVP를 선택합니다. 이 점이나 모순에 동의 할 수 있습니까?
토론을 생성 할 가능성이있는 폴링이나 질문은 주제와 관련이 없습니다. – mydogisbox
"최상의"접근 방식은 없습니다. 유스 케이스에 전적으로 의존합니다. –