iOS 개발자
로그인
iOS 개발자
로그인
VIPER란?
박성민
·
2021년 6월 7일
팔로우
0
0
iOS
목록 보기
20/30
VIPER
그림 출처: http://labs.brandi.co.kr/2018/02/21/kimjh.html
View, Interactor, Presenter, Entity, Router로 이루어져 있는 패턴입니다.
View
View와 ViewController 파일들입니다.
Presenter의 요청대로 디스플레이 하고, 사용자 입력은 Presenter로 보냅니다.
Business logic은 없습니다.
Interactor
Use case에 따라 Data(Entity) 또는 networking과 관련된 business logic(Entity들의 새로운 instance를 만든다던가, 서버로부터 가져오는)을 가지고 있습니다.
이러한 목적을 위해 VIPER 모듈의 일부가 아닌 외부 의존성을 띄는 Service와 Manager들을 사용합니다.
Presenter
View의 변경 사항을 interactor로 알려줍니다.
Interactor를 통해 데이터를 가져오고, View로 보내기 위한 데이터를 준비하여 "언제" View에 보여줄지 결정합니다.
UI관련 business logic을 가지고 있지만 UIKit과는 독립적입니다.
Entitiy
모델 객체(Plain Data, Dumb Model)
Router(Wireframe)
화면전환을 담당하며, presenter가 "언제" 화면을 전환해야하는지 안다면, Wireframe은 화면전환을 "어떻게"해야하는지 알고 있습니다.
출처 및 참고
https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52
https://nightohl.tistory.com/entry/iOS-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98-%ED%8C%A8%ED%84%B4-VIPER
http://labs.brandi.co.kr/2018/02/21/kimjh.html
https://theswiftdev.com/the-ultimate-viper-architecture-tutorial/
박성민
iOS시작~
팔로우
이전 포스트
SOLID 객체지향 5대 원칙
다음 포스트
Introduction of GCD & Operation
0개의 댓글
댓글 작성