Skip to content

Clean Architecture with MVVM C

S004_강현준 edited this page Nov 29, 2021 · 3 revisions

Untitled_Diagram drawio

MVVM Clean Architecture

왜 사용했나요?

  • Clean Architecture는 Domain Layer가 다른 Layer에 독립적이기 때문에 테스트하기 용이하고 Domain Layer를 재사용 및 교체하기 좋다는 장점이 존재합니다.
  • ViewController는 단위 테스트를 하기 어렵다는 단점이 있는데 이를 UIKit에 독립적인 ViewModel을 사용하므로써 테스트를 진행할 수 있습니다.
  • 화면 이동을 담당하는 Coordinator가 존재하고 ViewModel에서 호출하는 구조이지만, ViewModel의 UIKit 의존성을 끊어내기 위하여 delegate 패턴을 적용하였습니다.


Coordinator

왜 사용했나요?

  • 하나의 화면에서 다른 화면으로 전환을 할 때 다른 ViewController를 알아야하는 경우가 발생했습니다. Coordinator 패턴을 적용하면 ViewController 사이의 의존성을 제거할 수 있기에 MVVM+C를 사용하였습니다.
  • 추가적으로 ViewController에서 화면전환의 기능 로직이 포함되게 된다면 ViewController 코드의 양이 방대해지는 문제가 발생할 수 있습니다. 이를 코디네이터로 분리함으로써 방지하도록 하였습니다.

수인분당선

규칙

프로젝트

기술 특장점

데일리 스크럼

1주차
2주차
3주차
4주차
5주차
6주차

회고

회의록

1주차
2주차
3주차
4주차
5주차
6주차

멘토링

기술 공유

트러블슈팅

더보기

데모 영상

Clone this wiki locally