|
|
@ -0,0 +1,52 @@ |
|
|
|
# GME Remit |
|
|
|
GME Remit iOS 아키텍쳐는 VIPER 를 기반으로 한다. |
|
|
|
|
|
|
|
1. **Original VIPER** |
|
|
|
2. **VIPER + ViewModel (RxSwift)** |
|
|
|
3. **VIPER + RxPresenter (RxSwift)** |
|
|
|
|
|
|
|
*** |
|
|
|
|
|
|
|
## 1. Original VIPER |
|
|
|
앱 개발 초기에 사용한 VIPER 아키텍쳐로 |
|
|
|
각 모듈간 통신은 프로토콜을 사용한다. |
|
|
|
|
|
|
|
### 사용모듈 |
|
|
|
* AppUpdate |
|
|
|
* AutoDebitModules |
|
|
|
* BiometricAuthModules |
|
|
|
* ExchangeRates |
|
|
|
* ForgotPassword |
|
|
|
* GmeContacts |
|
|
|
* Home |
|
|
|
* LauncherScreen |
|
|
|
* Login |
|
|
|
* Main |
|
|
|
* PopupNotification |
|
|
|
* Profile |
|
|
|
* RegisterModules |
|
|
|
* RemittanceModules/OverseasModules |
|
|
|
* RemittanceModules/TransactionHistoryModules |
|
|
|
* RewardModules |
|
|
|
* SideMenu |
|
|
|
* SplashScreen |
|
|
|
* WalletStatement |
|
|
|
|
|
|
|
## 2. VIPER + ViewModel (RxSwift) |
|
|
|
RxSwift를 사용하기위해 ViewModel을 추가한 VIPER의 확장이다. |
|
|
|
|
|
|
|
### 사용모듈 |
|
|
|
* RecipientModules |
|
|
|
* RemittanceModules/DomesticModules |
|
|
|
* RemittanceModules/TransactionHistoryModules/TransactionHistoryGroup |
|
|
|
|
|
|
|
## 3. VIPER + RxPresenter (RxSwift) |
|
|
|
|
|
|
|
2번의 VIPER + ViewModel (RxSwift) 아키텍쳐를 사용하다 ViewModel의 존재로 링크 코드가 증가하는 현상으로 인해 ViewModel을 Presenter로 변환한 개선된 아키텍쳐이다. |
|
|
|
|
|
|
|
### 사용 모듈 |
|
|
|
* RecipientModules |
|
|
|
* RemittanceModules/DomesticModules |
|
|
|
* RemittanceModules/TransactionHistoryModules/TransactionHistoryGroup |
|
|
|
|
|
|
|
## 4. 점차적으로 3번의 아키텍쳐로 변환할 예정. |