-
Notifications
You must be signed in to change notification settings - Fork 0
jueun-rxflow TIL #20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
jueun-rxflow TIL #20
Conversation
minaje0917
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
실제 사용하는 코드도 예시로 추가하면 좋을 거 같습니다.
RxFlow/jueun-RxFlow.md
Outdated
| - 네비게시연의 흐름(context)에 맞게 UIViewController를 다른 방식으로 보여줄 수 있음 | ||
| - 의존성 주입(Dependency Injection)을 쉽게 구현할 수 있음 | ||
| - UIViewController에 있는 모든 네비게이션 매커니즘을 삭제함 | ||
| - 반응형 프로그래밍(Reactive Programming) 사용르 촉진함 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
반응형 프로그래밍이란 무엇인가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
어떠한 이벤트가 발생하였을 때 그것을 구독하고 있는 옵저버가 이를 알아채고 UI를 실시간으로 업데이트하는 것입니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
어떠한 이벤트가 발생하였을 때 그것을 구독하고 있는 옵저버가 이를 알아채고 UI를 실시간으로 업데이트하는 것입니다
구독을 한다고 하셨는데 구독이 무엇이고 어떤 방식으로 하는 것인가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
구독은데이터의 연속적인 흐름을 모니터링하고 이벤트를 받기 위해 옵저버가 등록하는 과정을 나타냅니다.
Observable 생성 -> Observer 생성 -> 구독 -> 이벤트 처리 -> 구독 해지 와 같은 일반적인 단계를 따릅니다.
| ### RxFlow의 장점 | ||
| - 스토리보드를 유닛단위로 분리하여 UIViewController의 재사용성을 키움 | ||
| - 네비게시연의 흐름(context)에 맞게 UIViewController를 다른 방식으로 보여줄 수 있음 | ||
| - 의존성 주입(Dependency Injection)을 쉽게 구현할 수 있음 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
왜 의존성 주입이 쉽게 구현될 수 있나요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RxFlow를 사용하면 각 화면을 모듈로 분리하고, 모듈 간의 의존성을 명확하게 관리할 수 있어 더 효과적인 의존성 주입이 구현됩니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- 모듈로 분리한다는 것이 무엇을 의미하나요?
- 의존성을 관리할 수 있다고 하셨는데, 의존성을 관리한다는게 무슨 의미인가요?
실제 코드도 넣을 수 있다면 넣어서 답해주신다면 좋을거같습니다 :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
간단한 Sample 코드 작성해주시는거 어떤가요?
| 3. Stepper : Flow의 모든 네비게이션액션을 emit | ||
| 4. Presentable : 표시될 수 있는 추상화타입(기본적으로 UIViewController 및 Flow는 표시 가능) | ||
| 5. FlowContributor : FlowCoordinator에게 Flow의 새 단계를 생성할 수 있는 다음 항목이 무엇인지 알려주는 데이터 구조 | ||
| 6. FlowCoordinator |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
민재 : 왜 쓰다 말았지
| - 의존성 주입(Dependency Injection)을 쉽게 구현할 수 있음 | ||
| - UIViewController에 있는 모든 네비게이션 매커니즘을 삭제함 | ||
| - 반응형 프로그래밍(Reactive Programming) 사용르 촉진함 | ||
| - 네비게이션에서 일어나는 대부분의 케이스를 처리하면서 선언형으로 표현할 수 있음 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
선언형이 무엇을 의미하나요? RxFlow가 어떻게 선언형으로 표현할 수 있게 해주는건가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
선언형은 화면 전환과 네비게이션의 흐름을 명시적으로 선언하고 정의하는 방식을 나타냅니다.
Flow와 Step, FlowContributor를 사용하면 선언적 방식으로 앱의 네비게이션 흐름을 표현할 수 있습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
선언형 프로그래밍이란 무엇인지 아시나요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
원하는 결과를 어떻게 얻을지 직접 단계별로 구현하는 것이 아니라 명시적으로 선언하는 방식의 프로그래밍 패러다임입니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Coordinator 의 핵심은 화면로직을 ViewController로부터 '분리'한다는 것이 핵심입니다. Coordinator를 사용하지 않고 다른 방법으로 화면로직 로직을 분리할 수 없을까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MVVM 아키텍처는 화면 로직을 ViewController로부터 분리하는 방법 중 하나입니다.
또한 Clean 아키텍처의 한 종류인 VIPER도 화면 로직을 모듈화된 컴포넌트로 분리합니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
네..?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MVVM 아키텍처를 사용해도 화면로직을 분리할 수 있습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아하
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
의도했던 답변은 Navigator였었어요! 한 번 알아보고 각각의 장단점 비교해서 상황따라 잘 사용해봐도 괜찮을거같아요
Co-authored-by: baegteun <baegteun@gmail.com>
Co-authored-by: baegteun <baegteun@gmail.com>
|
혹시 그 '하 이 미친놈이 왜이러지' 같은 생각이 드신다면 멈추라고 말씀해주시면 질문 테러 멈출게요.. 🥺 |
No description provided.