개발일기/IOS

IOS - MVVM

코딩하는빵친자 2024. 6. 26. 16:31
  • MVVM
    • View
      1. MVVM은 MVC와 달리 ViewController를 View로 취급한다.
      2. 모든 UI 로직이 ViewModel에 있으므로 View/ViewController가 가벼워진다.(MVC에서보다)
      3. View는 ViewModel을 참조한다(반대는 X).
      4. View는 Model을 참조하지 않는다(반대도 O).
      5. View는 발행(publication)을 구독(subscribe)하고, 주시(관찰, observe)한다.
    • ViewModel
      1. MVVM은 ViewModel을 통해 UI 로직과 비즈니스 로직을 분리했다.
      2. MVVM은 MVC와 달리 ViewModel이 있다.
      3. ViewModel은 Model을 참조한다(반대는 X).
      4. View 없이 테스트가 가능 하다.
      5. ViewModel은 View input으로부터 Model을 업데이트한다.
      6. ViewModel은 Model이 변경되면 View에 반영한다. (Model output으로부터 View를 업데이트한다.)
      7. ViewModel은 View에 직접적으로 이야기하지 않는다. 무언가 바뀌었다고 발표(publish) 한다.
      8. 모든 UI 컨트롤의 상태를 알려주는 프로퍼티들을 포함한다.
    • Model
      1. UI에 독립적이다.
      2. SwiftUI나 UIKit을 import 하지 않는다.
      3. App이 하는 일에 대한 데이터와 로직을 캡슐화 하려고 한다.
      4. Model이 변경됐을 때 ViewModel에게 알린다.

[iOS] MVVM - 야곰닷넷

[iOS] MVVM 패턴 정리

swift MVVM 정리 및 예제

[iOS] MVVM 디자인 패턴 정리 및 예제코드

iOS + MVVM

Swift(스위프트): 튜토리얼을 통한 디자인 패턴: MVVM (Model-View-ViewModel) 2 - BGSMM

728x90