2016-06-06 7 views
3

현재 프로젝트에서 VIPER 아키텍처를 구현하려고하고 있는데 몇 가지 질문이 있습니다.비슷한 기능을 가진 두 개의보기 컨트롤러 VIPER

내 응용 프로그램에는 두 개의 모듈이 있는데, 비슷한 기능을 가지고 있습니다. 두 모듈 모두 imagePicker와 서버에 미디어를 업로드 할 수있는 기능을 가지고 있습니다. 두 모듈 모두 동일한 기능을 구현했습니다.

제 질문은 두 모듈에서 어떻게 비슷한 기능을 재사용 할 수 있습니까? 문제는 내 imagePicker에는 didUploadMediaFile(), didFailToUploadMediaFile(), uploadMediaFile() 등 이미지를 선택하고 업로드하는 동안 서로 다른 이벤트를 처리하는 Interactor에 선언 된 여러 메서드가 있습니다.

이 기능으로 세 번째 모듈을 만들고 그 외 다른 모듈을 서브 클래 싱해야합니까? 아니면 그것을하는 더 좋은 방법이 있을까요?

답변

0

나는 추상적 인 클래스를 만들고 imagePicker 로직을 구현해야한다고 생각한다. didUploadMediaFile(), didFailToUploadMediaFile(), uploadMediaFile() 메서드를 사용하여 클래스에 대한 인터페이스 (프로토콜)를 선언하고 클래스에서이 메서드를 구현하고 VIPER 모듈에 삽입하십시오.

1

사용하려는 유사한 구성 요소/메서드는, 이는 많은 인터랙 터들이 원하는대로 공유 할 수 있지만 VIPER 아키텍처와 100 % 호환됩니다. https://www.ckl.io/blog/best-practices-viper-architecture/

:

하며,이 DataManager에 호출, 예를 들어, MediaApiDataManager는() 나는 당신이 독사에 더 중대한 끝이 게시물을 읽을 제안 UploadMediaFile()

의 핵심 코드의 이행을위한 책임을 질 것입니다