Skip to content

프로젝트 구조 설계(VIP Service Storage)

woongs edited this page Dec 15, 2020 · 2 revisions

목표

1차적으로 비즈니스 로직과 프레젠트 로직을 분리해서 비즈니스 로직에 집중하고, 
나아가 각각의 역할을 명확히 해서 책임을 분리할 수 있는 구조를 만드는 것을 목표로 삼았습니다.  
Usecase를 중심으로 책임을 분리한 VIP(View-Interactor-Presenter) 패턴이 적합하다고 판단하여 참고해서 개발했습니다.

VIP란?

  • VIP는 전체적으로 View - Interactor - Presenter의 흐름을 가지고 있습니다.
    Usecase별로 각 관계 사이의 Request - Response - ViewModel를 정의해서 각각의 역할에 집중해서 개발할 수 있습니다.

  • Router, ViewController, Interactor, Presenter 등을 Protocol로 추상화 시켜서 각각의 관계가 유연해지고 테스트가 용이해집니다.
    또 로직의 흐름을 단방향으로 관리할 수 있습니다.

  • 실질적인 데이터의 처리는 Worker에서 담당하는데, 네트워크 통신이나 로컬 저장소의 데이터를 관리합니다.

Clone this wiki locally