Conversation
minaje0917
left a comment
There was a problem hiding this comment.
실제 사용하는 코드도 예시로 추가하면 좋을 거 같습니다.
RxFlow/jueun-RxFlow.md
Outdated
| - 네비게시연의 흐름(context)에 맞게 UIViewController를 다른 방식으로 보여줄 수 있음 | ||
| - 의존성 주입(Dependency Injection)을 쉽게 구현할 수 있음 | ||
| - UIViewController에 있는 모든 네비게이션 매커니즘을 삭제함 | ||
| - 반응형 프로그래밍(Reactive Programming) 사용르 촉진함 |
There was a problem hiding this comment.
어떠한 이벤트가 발생하였을 때 그것을 구독하고 있는 옵저버가 이를 알아채고 UI를 실시간으로 업데이트하는 것입니다
There was a problem hiding this comment.
어떠한 이벤트가 발생하였을 때 그것을 구독하고 있는 옵저버가 이를 알아채고 UI를 실시간으로 업데이트하는 것입니다
구독을 한다고 하셨는데 구독이 무엇이고 어떤 방식으로 하는 것인가요?
There was a problem hiding this comment.
구독은데이터의 연속적인 흐름을 모니터링하고 이벤트를 받기 위해 옵저버가 등록하는 과정을 나타냅니다.
Observable 생성 -> Observer 생성 -> 구독 -> 이벤트 처리 -> 구독 해지 와 같은 일반적인 단계를 따릅니다.
| ### RxFlow의 장점 | ||
| - 스토리보드를 유닛단위로 분리하여 UIViewController의 재사용성을 키움 | ||
| - 네비게시연의 흐름(context)에 맞게 UIViewController를 다른 방식으로 보여줄 수 있음 | ||
| - 의존성 주입(Dependency Injection)을 쉽게 구현할 수 있음 |
There was a problem hiding this comment.
RxFlow를 사용하면 각 화면을 모듈로 분리하고, 모듈 간의 의존성을 명확하게 관리할 수 있어 더 효과적인 의존성 주입이 구현됩니다
There was a problem hiding this comment.
- 모듈로 분리한다는 것이 무엇을 의미하나요?
- 의존성을 관리할 수 있다고 하셨는데, 의존성을 관리한다는게 무슨 의미인가요?
실제 코드도 넣을 수 있다면 넣어서 답해주신다면 좋을거같습니다 :)
There was a problem hiding this comment.
간단한 Sample 코드 작성해주시는거 어떤가요?
| 3. Stepper : Flow의 모든 네비게이션액션을 emit | ||
| 4. Presentable : 표시될 수 있는 추상화타입(기본적으로 UIViewController 및 Flow는 표시 가능) | ||
| 5. FlowContributor : FlowCoordinator에게 Flow의 새 단계를 생성할 수 있는 다음 항목이 무엇인지 알려주는 데이터 구조 | ||
| 6. FlowCoordinator |
| - 의존성 주입(Dependency Injection)을 쉽게 구현할 수 있음 | ||
| - UIViewController에 있는 모든 네비게이션 매커니즘을 삭제함 | ||
| - 반응형 프로그래밍(Reactive Programming) 사용르 촉진함 | ||
| - 네비게이션에서 일어나는 대부분의 케이스를 처리하면서 선언형으로 표현할 수 있음 |
There was a problem hiding this comment.
선언형이 무엇을 의미하나요? RxFlow가 어떻게 선언형으로 표현할 수 있게 해주는건가요?
There was a problem hiding this comment.
선언형은 화면 전환과 네비게이션의 흐름을 명시적으로 선언하고 정의하는 방식을 나타냅니다.
Flow와 Step, FlowContributor를 사용하면 선언적 방식으로 앱의 네비게이션 흐름을 표현할 수 있습니다.
There was a problem hiding this comment.
원하는 결과를 어떻게 얻을지 직접 단계별로 구현하는 것이 아니라 명시적으로 선언하는 방식의 프로그래밍 패러다임입니다
There was a problem hiding this comment.
Coordinator 의 핵심은 화면로직을 ViewController로부터 '분리'한다는 것이 핵심입니다. Coordinator를 사용하지 않고 다른 방법으로 화면로직 로직을 분리할 수 없을까요?
There was a problem hiding this comment.
MVVM 아키텍처는 화면 로직을 ViewController로부터 분리하는 방법 중 하나입니다.
또한 Clean 아키텍처의 한 종류인 VIPER도 화면 로직을 모듈화된 컴포넌트로 분리합니다.
There was a problem hiding this comment.
MVVM 아키텍처를 사용해도 화면로직을 분리할 수 있습니다.
There was a problem hiding this comment.
의도했던 답변은 Navigator였었어요! 한 번 알아보고 각각의 장단점 비교해서 상황따라 잘 사용해봐도 괜찮을거같아요
Co-authored-by: baegteun <baegteun@gmail.com>
Co-authored-by: baegteun <baegteun@gmail.com>
|
혹시 그 '하 이 미친놈이 왜이러지' 같은 생각이 드신다면 멈추라고 말씀해주시면 질문 테러 멈출게요.. 🥺 |
No description provided.