[iOS] MVVM-C vs. RIP
2025. 2. 25. 21:16ㆍiOS
반응형
1. MVVM-C 패턴
- Model
- 도메인 데이터와 비즈니스 로직을 포함합니다. 데이터 소스(네트워크, 데이터베이스 등)와 상호작용하는 부분입니다.
- View
- 사용자 인터페이스(UI)를 담당하며, 사용자 입력을 받아 ViewModel에 전달합니다. 직접 비즈니스 로직을 포함하지 않습니다.
- ViewModel
- View와 Model 사이에 중재자 역할을 합니다. Modeldml epdlxjfmf rkrhdgo 퍋ㅈdp wprhdgkrh, UI 이벤트를 처리하여 필요한 로직(예, 데이터 포맷팅, 유효성 검사 등)을 수행합니다.
- MVVM의 핵심은 데이터 바인딩을 통해 View와 ViewModel간의 실시간 동기화가 가능하다는 점입니다.
- Coordinator(C)
- 네비게이션 로직 및 화면 전환을 담당합니다. ViewModel이 화면 전환 로직에 관여하지 않고, Coordinator에게 위임함으로써 각 컴포넌트의 책임을 명확히 분리합니다.
2. RIP 패턴
RIP 패턴은 보통 Router, Interactor, Presenter로 구성되는 아키텍처로, VIPER 아키텍처의 핵심 요소와 유사한 면이 있습니다.
- Router
- 화면 간 전환 및 네비게이션을 담당합니다.
- MVVM-C의 Coordinator와 유사하게, 네비게이션 로직을 전담하여 뷰나 프레젠터에서 이 책임을 분리합니다.
- Interactor
- 애플리케이션의 비즈니스 로직과 도메인 규칙을 수행합니다. 외부 API호출, 데이터 처리 등 핵심 로직이 이곳에 위치하여, 뷰나 프레젠터와는 분리된 순수한 비즈니스 계층을 형성합니다.
- Presenter
- 사용자 인터페이스에 표시할 데이터를 가공하고, 뷰와 상호작용합니다.
- 보통 뷰는 프레젠터를 통해 업데이트되며, 프레젠터는 Interactor와의 통신을 통해 필요한 데이터를 얻어와 뷰에 전달합니다.
반응형
'iOS' 카테고리의 다른 글
[iOS] AES와 RSA Keychain 저장여부 정리 (0) | 2025.02.24 |
---|---|
[iOS] CryptoKit vs. CryptoSwift (0) | 2025.02.14 |
[iOS] WKWebView Cookie (1) | 2025.02.11 |
[iOS] Async/Await (1) | 2025.02.06 |
[iOS] 무결성 (Integrity) (3) | 2025.02.06 |