본문 바로가기

반응형

개발/디자인 패턴

(3)
[iOS] 디자인패턴 - MVP MVP MVP는 Model - View - Presenter의 약자로 MVC에서 의존성 분리가 추가된 개념이다. MVP 핵심요소 Model 일반 데이터 모델, DB 계층을 담당 View (= UIViewController) UI 담당으로 UIKit을 사용. Presenter Model과 View의 중간다리로 이 둘을 관리. 뷰의 이벤트에 반응하여 모델에서 데이터를 가져온다. Presenter는 UIKit을 사용할 수 없다. MVP 특징 View의 재사용성으로 테스트성이 좋다. (Testability) 의존성 분리로 역할이 나뉘어 수정, 유지보수가 편리하다. 단, MVC 보다 코드의 양이 더 든다. (Easy of use) Model과 View는 서로의 존재를 모른다. View는 UI만을 담당하며 비즈니스..
[iOS] 디자인 패턴 - VIPER 화면 전환 예제 앞선 글은 아래에 있다. [iOS] 디자인패턴 - VIPER Clean Architecture 이란? iOS 도메인에 있는 Clean Architecture의 다양한 구성 요소 사이의 데이터 흐름을 살펴봅시다. 교차 경계 섹션에서는 다음과 같이 데이터 흐름이 단반향이어야 하는 방법에 대해 논의했.. djgmd1021.tistory.com VIPER에서 화면 전환인 View -> Router 에 대해 알아보려 한다. 아래 화면은 새롭게 추가한 시작 화면이다. 이곳에서 사용자는 Candy Store 뷰를 클릭하면, 다음 화면으로 넘어가도록 구성했다. 화면 이동은 Router담당이니 View에서 바로 Router로 보내버린다. 새롭게 추가된 화면은 Main이다. MainEntity struct StoreEnt..
[iOS] 디자인패턴 - VIPER VIPER 이란? Viper는 View, Interactor, Presenter, Entity, Router의 약자다. Entity 단순 데이터 모델 Interaction 비즈니스 로직이 위치한다. 네트워크 호출이나 데이터베이스 쿼리 등 데이터를 수집한다. Presenter VIPER 아키텍처의 중심 부분. Clean Architecture의 Interface Adaper과 비슷하다. 뷰에서 사용하는 데이터 변환과 UI작업 가로채기 등의 작업을 수행. View (ViewController) = 여기서 View는 ViewController와 ViewContainer 모두를 의미한다. 이곳에서는 비즈니스 로직을 피하고 UI코드만 기억한다. Presenter에게 뷰에서 일어나는 이벤트와 변화를 전송한다. Ro..

반응형