[iOS] MVVM-C vs. RIP

2025. 2. 25. 21:16iOS

반응형

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