Coodinater Pattern이란?
Coordinator는 뷰 컨트롤러의 움직임을 조정하기 위한 타입이다.
이러한 Coordinater가 필요한 이유는
1. Massive View Controller의 문제점
2. 기존 화면전환 시 존재하던 ViewController간의 수평적인 관계 또는 강한 결합의 문제점
을 해결하기 위해서 등장하게 되었다.
이러한 문제점을 극복하기 위해 아예 화면전환을 관리하는 독립적인 클래스를 이용하자는 것이 주 아이디어이다.
한 두개의 화면으로 구성된 프로젝트의 경우 큰 문제가 없을지 몰라도, 프로젝트가 커질 경우 다양한 방식의 화면 전환이 이루어질 가능성이 있고, ViewController들이 서로서로 종송적으로 연결되어 있다면 관리하기 또한 어려울 것이다.
따러서 ViewController보다 높은 수준에서 화면 간의 플로우를 안정적으로 관리하기 위해 Coordinator라는 개념을 도입했다.
ViewController보다 한 단계 위의 레이어에서 ViewController들을 관리하기 때문에 ViewController간의 결합을 줄여줄 수 있는 것이다.

또한 화면 전환에 관련된 비즈니스 로직을 모두 coordinator에서 관리하기 때문에 ViewController가 방대해지는 문제를 해결하고, ViewController는 View의 역할에만 집중할 수 있다. 또한 화면전환에 관련된 유지보수가 필요할 경우 coordinator에서 기능을 수정하면 되기 때문에 유지보수 편의성을 높여준다.
또한 동일한 로직의 화면 전환이 있을 경우 중복성을 제거할 수 있고, 클린 아키텍쳐를 사용할 경우 Repository, ViewModel, Service 등에 대한 의존성 주입 또한 함께 관리할 수 있다.
참고링크 :
https://jazz-the-it.tistory.com/m/28
[Swift] Coordinator Pattern 기본!! With RayWanderlich Tutorial!
Coordinator가 무엇일까? Coordinator A type to coordinate with the view controller. coordinate는 배열하다, 조정하다 정도의 의미를 가지고 있다. Coordinator는 뷰 컨트롤러의 움직임을 조정하기 위한 타입이라고 하
jazz-the-it.tistory.com
[Swift] Coordinator Pattern (1/2) - 기본원리
iOS 아키텍쳐의 종류는 다양해요 MVC, MVP, MVVM, VIPER, RIBs... 등등 많은데 MVC-C, MVVM-C 이러한 표현을 보신적도 있지않나요?? 여기서 C는 Coordinator를 의미해요 Coordinator란?? 화면의 흐름을 제어해주는 역
nsios.tistory.com
'Clean Architecture' 카테고리의 다른 글
[Clean Architecture] iOS Repository Pattern이란? (0) | 2023.10.04 |
---|---|
[Clean Architecture] 만들면서 배우는 클린 아키텍처 9장 (0) | 2023.06.27 |
[Clean Architecture] iOS 클린 아키텍처 실제 프로젝트 3: DI(의존성 주입) (0) | 2023.06.12 |
클린 아키텍쳐 정리 및 예제 (0) | 2023.04.27 |
Coodinater Pattern이란?
Coordinator는 뷰 컨트롤러의 움직임을 조정하기 위한 타입이다.
이러한 Coordinater가 필요한 이유는
1. Massive View Controller의 문제점
2. 기존 화면전환 시 존재하던 ViewController간의 수평적인 관계 또는 강한 결합의 문제점
을 해결하기 위해서 등장하게 되었다.
이러한 문제점을 극복하기 위해 아예 화면전환을 관리하는 독립적인 클래스를 이용하자는 것이 주 아이디어이다.
한 두개의 화면으로 구성된 프로젝트의 경우 큰 문제가 없을지 몰라도, 프로젝트가 커질 경우 다양한 방식의 화면 전환이 이루어질 가능성이 있고, ViewController들이 서로서로 종송적으로 연결되어 있다면 관리하기 또한 어려울 것이다.
따러서 ViewController보다 높은 수준에서 화면 간의 플로우를 안정적으로 관리하기 위해 Coordinator라는 개념을 도입했다.
ViewController보다 한 단계 위의 레이어에서 ViewController들을 관리하기 때문에 ViewController간의 결합을 줄여줄 수 있는 것이다.

또한 화면 전환에 관련된 비즈니스 로직을 모두 coordinator에서 관리하기 때문에 ViewController가 방대해지는 문제를 해결하고, ViewController는 View의 역할에만 집중할 수 있다. 또한 화면전환에 관련된 유지보수가 필요할 경우 coordinator에서 기능을 수정하면 되기 때문에 유지보수 편의성을 높여준다.
또한 동일한 로직의 화면 전환이 있을 경우 중복성을 제거할 수 있고, 클린 아키텍쳐를 사용할 경우 Repository, ViewModel, Service 등에 대한 의존성 주입 또한 함께 관리할 수 있다.
참고링크 :
https://jazz-the-it.tistory.com/m/28
[Swift] Coordinator Pattern 기본!! With RayWanderlich Tutorial!
Coordinator가 무엇일까? Coordinator A type to coordinate with the view controller. coordinate는 배열하다, 조정하다 정도의 의미를 가지고 있다. Coordinator는 뷰 컨트롤러의 움직임을 조정하기 위한 타입이라고 하
jazz-the-it.tistory.com
[Swift] Coordinator Pattern (1/2) - 기본원리
iOS 아키텍쳐의 종류는 다양해요 MVC, MVP, MVVM, VIPER, RIBs... 등등 많은데 MVC-C, MVVM-C 이러한 표현을 보신적도 있지않나요?? 여기서 C는 Coordinator를 의미해요 Coordinator란?? 화면의 흐름을 제어해주는 역
nsios.tistory.com
'Clean Architecture' 카테고리의 다른 글
[Clean Architecture] iOS Repository Pattern이란? (0) | 2023.10.04 |
---|---|
[Clean Architecture] 만들면서 배우는 클린 아키텍처 9장 (0) | 2023.06.27 |
[Clean Architecture] iOS 클린 아키텍처 실제 프로젝트 3: DI(의존성 주입) (0) | 2023.06.12 |
클린 아키텍쳐 정리 및 예제 (0) | 2023.04.27 |