-
Notifications
You must be signed in to change notification settings - Fork 4
프로젝트 구조 설계(VIP Service Storage)
woongs edited this page Dec 15, 2020
·
2 revisions
1차적으로 비즈니스 로직과 프레젠트 로직을 분리해서 비즈니스 로직에 집중하고,
나아가 각각의 역할을 명확히 해서 책임을 분리할 수 있는 구조를 만드는 것을 목표로 삼았습니다.
Usecase를 중심으로 책임을 분리한 VIP(View-Interactor-Presenter) 패턴이 적합하다고 판단하여 참고해서 개발했습니다.
-
VIP는 전체적으로
View - Interactor - Presenter
의 흐름을 가지고 있습니다.
Usecase별로 각 관계 사이의Request - Response - ViewModel
를 정의해서 각각의 역할에 집중해서 개발할 수 있습니다. -
Router, ViewController, Interactor, Presenter 등을 Protocol로 추상화 시켜서 각각의 관계가 유연해지고 테스트가 용이해집니다.
또 로직의 흐름을 단방향으로 관리할 수 있습니다. -
실질적인 데이터의 처리는 Worker에서 담당하는데, 네트워크 통신이나 로컬 저장소의 데이터를 관리합니다.