Skip to content

MVVM vs MVP #8

@handnew04

Description

@handnew04

MVVM 과 MVP의 뜻과 구조는 이후 정리하여 추가하겠습니다.
두 패턴중 MukMap에 더 적당하다고 생각하는 패턴을 찾는것이 목표입니다.

MVVM과 MVP의 차이점

  1. mvp 는 presenter와 view가 서로를 알아야합니다.
    mvvm은 viewModel은 view에 대해 전혀 모르며 view만 viewModel을 알고 있습니다.
  2. mvp 는 presenter와 view가 인터페이스를 통해 상호작용을 합니다.
    mvvm은 viewModel을 통해 view가 데이터를 바인드할 수 있습니다.
  3. mvp은 view와 presenter 가 1:1 매칭이 되어야 합니다.
    mvvm은 viewModel을 재사용 하여 1:N 관계를 형성할 수 있습니다.

결국 model에서 view를 완전히 모르게 하는것과 viewModel의 재사용으로 1:1이라는 강한 결합을 와해시키기 위해 MVVM을 사용한다고 생각합니다.

그러나 1:N 관계로 사용하는 예제를 보기는 어렵습니다. 구글의 블루프린트 예제조차도 각 view당 하나의 ViewModel을 사용하고 있습니다.
부피가 커지는 ViewModel 하나에만 다 넣을수 없기 때문으로 보입니다.

그래서 MVVM의 특징이라고 하는 1:N 관계를 조금 다른 시각으로 도입해보고자 합니다.

MukMap의 서버api를 살펴본 결과 유형별(channel, food... )로 나누어져 있기에 Client에서도 유형별로 ViewModel을 만들어서 각 View에서 필요한 부분만 observe 하려합니다.

의견주시면 감사하겠습니다.

구글예제

Metadata

Metadata

Assignees

Labels

docs기능을 문서화 한 이슈입니다.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions