소개
MVVM(Model-View-ViewModel) 패턴은 ‘소프트웨어 디자인 패턴’입니다. 디자인 패턴은 규칙과 템플릿의 집합이며, 애플리케이션 코드를 개선하거나 일관성을 높일 수 있습니다. MVVM 패턴을 사용하면 단위 테스팅을 지원하는 방식으로 앱의 동작 논리를 사용자 인터페이스 렌더링 코드와 분리하는 데 도움이 됩니다.
예제 시나리오
인사부의 관리 소프트웨어를 제작하는 회사에서 근무한다고 가정해 보겠습니다. 인사부에서는 회사의 직원에 대한 세부 정보를 관리하고 검토합니다. 기존 시스템은 웹 기반입니다. 웹 시스템에 사용되는 것과 같은 백 엔드 API를 통해 사용할 수 있는 모바일 앱을 제작해 달라는 요청을 받았습니다. 귀하는 백 엔드 API 및 웹 프런트 엔드를 단위 테스트로 철저히 검사할 수 있다는 것을 압니다. 그리고 모바일 앱의 표준을 유지하려고 합니다. 테스트 가능성이 극대화되도록 모바일 앱을 설계하는 데 MVVM 패턴이 도움이 된다는 얘기를 듣고, 시도해보려고 합니다.
MVVM 자체는 다수의 프레임워크와 프로그래밍 도구 키트의 기반이 되는 디자인 패턴입니다. 또한 이러한 프레임워크는 대부분 MVVM으로 단위 테스트의 수준을 올리는 데 도움이 되는 탐색 및 메시징 추상화와 같은 다른 기능을 제공합니다. 프레임워크를 구현하는 방식은 상당히 다양할 수 있기 때문에 여기에서는 패턴의 기본 사항에 집중하겠습니다.
수행할 작업
이 모듈에서는 MVVM 패턴의 여러 부분과 모델, 뷰, viewmodel의 역할을 알아보겠습니다. 그런 다음, UI 라이브러리(및 .NET MAUI 자체)와 격리된 방식으로 애플리케이션 동작을 처리하도록 viewmodel에 코드를 작성하겠습니다.
무엇을 배우나요?
이 모듈에서 학습할 내용은 다음과 같습니다.
- Model-View-ViewModel 패턴을 사용하는 경우를 식별합니다.
- viewmodel을 사용하여 시각적 동작을 유도합니다.
- 데이터 바인딩 가능 속성을 통해 코드 테스트 가능성을 향상시킵니다.