You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.6 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. # GME Remit
  2. GME Remit iOS 아키텍쳐는 VIPER 를 기반으로 한다.
  3. 1. **Original VIPER**
  4. 2. **VIPER + ViewModel (RxSwift)**
  5. 3. **VIPER + RxPresenter (RxSwift)**
  6. ***
  7. ## 1. Original VIPER
  8. 앱 개발 초기에 사용한 VIPER 아키텍쳐로
  9. 각 모듈간 통신은 프로토콜을 사용한다.
  10. ### 사용모듈
  11. * AppUpdate
  12. * AutoDebitModules
  13. * BiometricAuthModules
  14. * ExchangeRates
  15. * ForgotPassword
  16. * GmeContacts
  17. * Home
  18. * LauncherScreen
  19. * Login
  20. * Main
  21. * PopupNotification
  22. * Profile
  23. * RegisterModules
  24. * RemittanceModules/OverseasModules
  25. * RemittanceModules/TransactionHistoryModules
  26. * RewardModules
  27. * SideMenu
  28. * SplashScreen
  29. * WalletStatement
  30. ## 2. VIPER + ViewModel (RxSwift)
  31. RxSwift를 사용하기위해 ViewModel을 추가한 VIPER의 확장이다.
  32. 사용자 인터렉션의 처리는 ViewModel이 하며, ViewModel과 Presenter가 연결되어있으며 나머지는 프로토콜을 사용한다.
  33. ### 사용모듈
  34. * RecipientModules
  35. * RemittanceModules/DomesticModules
  36. * RemittanceModules/TransactionHistoryModules/TransactionHistoryGroup
  37. ## 3. VIPER + RxPresenter (RxSwift)
  38. 2번의 VIPER + ViewModel (RxSwift) 아키텍쳐를 사용하다 ViewModel의 존재로 링크 코드가 증가하는 현상으로 인해 ViewModel을 Presenter로 변환한 개선된 아키텍쳐이다.
  39. View와 Presenter 간의 통신은 RxSwift로 진행되며, 나머지는 프로토콜을 사용한다.
  40. ### 사용 모듈
  41. * RecipientModules
  42. * RemittanceModules/DomesticModules
  43. * RemittanceModules/TransactionHistoryModules/TransactionHistoryGroup
  44. ## 4. 점차적으로 3번의 아키텍쳐로 변환할 예정.