Skip to content

MVVM #72

Closed
Closed
MVVM#72
@MoSonLee

Description

@MoSonLee

MVVM

  • Model - View - ViewModel 형식
  • View와 Model을 명확하게 분리해서 사용하기 위해 사용
  • Model의 모든 변화를 View가 파악하고 UI 업데이트를 할 수 있어야함
  • ViewModel을 통해 UI와 비지니스 로직을 분리
  • MVC의 Controller 대신 ViewModel을 사용하며 MVC의 컨트롤러는 View로 취급됨

ViewModel

  • UI와 비즈니스 로직을 분리하기 위해 사용
  • Model을 참조하고 있음
  • View로부터 변경사항을 받아 Model을 업데이트함
  • Model이 변경되면 View에 반영함
  • Interpreter(통역사, 중간다리)의 역할을 담당함
  • view의 변경 사항을 직접 알리지 않고 변경 되었다고 Publish만 함

View

  • ViewController를 View로 취급
  • 모든 비즈니스 로직이 viewModel에 들어있기 때문에 View와 ViewController에 관련된 코드가 줄어듦
  • ViewModel을 참조하고 있음
  • View는 ViewModel이 Publish한 내용을 Subscribe하고 Observe함

Model

  • View와 독립적
  • UIKit, SwiftUI 등을 import 하지 않음
  • Model이 변경되었을 때 ViewModel에게 변경된 사싱르 알려줌

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions