MCP 패턴 상세 가이드
MCP는 소프트웨어 아키텍처 패턴으로, 기존의 MVC 패턴을 개선하여 더 나은 관심사 분리와 테스트 용이성을 제공합니다.
1. 핵심 구성 요소
모델 (Model)
- 데이터와 비즈니스 로직을 담당
- 애플리케이션의 상태와 데이터 관리
- 화면이나 프레젠터에 대해 전혀 알지 못함
컨트롤러 (Controller)
- 사용자 입력을 처리하고 모델과 프레젠터 사이의 중재자 역할
- 모델의 상태를 업데이트하고 프레젠터에게 알림
프레젠터 (Presenter)
- 화면의 상태를 관리하고 모델의 데이터를 표현 형식으로 변환
- 화면과 1:1 관계를 가짐
2. MCP의 장점
- 관심사의 명확한 분리로 코드 유지보수성 향상
- 단위 테스트 용이성 증가
- 화면과 모델 간의 의존성 제거
3. 실제 구현 예시
간단한 할일 목록 앱을 예로 들면: