티스토리 뷰

etc.

[Architecture pattern] iOS VIPER 란

Kim_Baechu 2021. 2. 2. 09:44

VIPER - View, Interactor, Presenter, Entity, Router

 

출처 : http://labs.brandi.co.kr/2018/02/21/kimjh.html

View

UIViewController를 포함한 UIKit의 파일들입니다.

Presenter에 의해 보여주기만 하고 비지니스 로직은 없습니다.

 

Interactor

비지니스로직을 담당합니다.

UI와 완전히 독립적입니다.

 

Presenter

View에서 요청하는 데이터를 포맷에 맞게 준비하는 UIKit과 독립된 클래스입니다.

Interactoer에서 데이터를 가져옵니다.

 

Entity

Interactor가 사용하는 model입니다.

 

Router

화면전환을 담당합니다.

 

 

 

 

VIPER특징

SOLID하고 명확하다.

테스트하기 좋다

재사용성이 좋다.

크고 복잡한 앱에 잘 어울린다.

구조가 크고 복잡해서 VIPER클래스를 자동으로 만들어주는 code generator를 사용하는 것이 좋다.

 

 

여러가지 아키텍처를 알고 현재 앱에 가장 어울리는 아키텍처를 사용하는 것이 중요하겠습니다.ㅎㅎ

 

참고

labs.brandi.co.kr/2018/02/21/kimjh.html

theswiftdev.com/the-ultimate-viper-architecture-tutorial/

댓글
공지사항