VIPER 아키텍쳐 패턴 뿌셔보기 (3)
VIPER 3탄에서는 실제 네트워크 통신을 Interactor에서 어떻게 호출하고 사용하는지 별도 네트워크 서비스는 어떻게 구성하여 가져가는지 다뤄봤습니다 🙋🏻 흐름을 정리하자면, Interactor에서 NetworkService 프로퍼티를 가지고 있고 최상단에서 이 인스턴스를 주입받아 사용합니다. 통신이 필요하는 과정에서 유저의 인터랙션이 발생하면 View -> Presenter에서 Interactor의 메서드를 호출합니다. 그럼 Interactor는 Service를 들고 있으니 해당 기능을 호출하여 네트워킹 및 디코딩을 하고 받아온 결과 값을 Presenter에 반환 해주거나 Presenter에서 Completion Handler로 처리할 수 있도록 합니다. 결국 사실 Completion Handler로 처리한다면 엄밀히 영역은 Interactor에서 처리하고 Presenter에서는 뷰에 업데이트를 해주는것이긴하죠. VIPER 조금 더 써봐야겠어요 🤔