티스토리 뷰
VIPER - View, Interactor, Presenter, Entity, Router
View
UIViewController를 포함한 UIKit의 파일들입니다.
Presenter에 의해 보여주기만 하고 비지니스 로직은 없습니다.
Interactor
비지니스로직을 담당합니다.
UI와 완전히 독립적입니다.
Presenter
View에서 요청하는 데이터를 포맷에 맞게 준비하는 UIKit과 독립된 클래스입니다.
Interactoer에서 데이터를 가져옵니다.
Entity
Interactor가 사용하는 model입니다.
Router
화면전환을 담당합니다.
VIPER특징
SOLID하고 명확하다.
테스트하기 좋다
재사용성이 좋다.
크고 복잡한 앱에 잘 어울린다.
구조가 크고 복잡해서 VIPER클래스를 자동으로 만들어주는 code generator를 사용하는 것이 좋다.
여러가지 아키텍처를 알고 현재 앱에 가장 어울리는 아키텍처를 사용하는 것이 중요하겠습니다.ㅎㅎ
참고
'etc.' 카테고리의 다른 글
[Xcode] Improving the Speed of Incremental Builds 번역 (0) | 2022.10.02 |
---|---|
[Xcode] libc++abi.dylib: terminate_handler unexpectedly threw an exception 해결하기 (0) | 2022.08.19 |
[기타] 클린코드 Clean code 요약 (0) | 2022.04.12 |
[Design Pattern] SOLID 원칙 - 객체 지향 설계 (0) | 2021.07.17 |
[Design Pattern] Swift Singleton 만들기 (0) | 2021.01.27 |
댓글
공지사항