Skip to content
yoosumi edited this page Dec 9, 2022 · 3 revisions

패턴을 적용한 이유

UI, 비즈니스 로직이 모두 Activity나 Fragement에 작성될 경우 코드의 가독성이 떨어지고, 코드간의 연관성이 밀접해져 수정이 어려워집니다.

관심사를 분리를 통해 코드의 가독성을 높이고, 유지보수를 쉽게 하여 개발의 효율을 높이고자 아키텍처 패턴을 적용했습니다.

MVVM 선택한 이유

  • View, ViewModel, Model(Repository)을 분리해 뷰와 모델간의 의존성을 줄여줍니다.
  • View가 ViewModel의 Data를 관찰하고 있으므로 UI 업데이트가 간편합니다.
  • ViewModel이 데이터를 가지고 있으므로 Memory Leak 발생 가능성 배제할 수 있습니다.
  • 모듈간의 의존성을 분리해 유지보수가 용이합니다.

MVP는 Presenter가 View와 1대1로 동작하기 때문에 View와 Presenter의 의존성이 강해지는 문제가 발생하고 이에 따라 Presenter의 로직이 커질 수 있습니다.

따라서, 관심사를 충분히 분리할 수 있고 화면회전 등의 동작으로 View가 다시 생성되어도 ViewModel을 통해 데이터를 유지할 수 있는 MVVM 방식을 적용하기로 결정했습니다.

Clone this wiki locally