MoviesTopRatedDIContainer
final class MoviesTopRatedDIContainer : MoviesTopRatedFlowCoordinatorDependencies
Movies TopRated 화면에 대한 의존성 주입을 관리하는 Container입니다.
-
Movie Top Rated 화면에서 필요한 Service를 구조체로 갖고 해당 구조체는
ApiDataTransferService
,ImageDataTransferService
를 갖고있습니다.- 해당
Dependencies
는AppDIContainer
에서makeMoviesTopRatedDIContainer()
메서드를 실행할 때 주입받습니다.
Declaration
Swift
struct Dependencies
- 해당
-
AppDIContainer에서 주입한 Service를 갖고있는 구조체 변수 입니다.
Declaration
Swift
private let dependencies: Dependencies
-
Declaration
Swift
init(dependencies: Dependencies)
-
평점순 영화를 불러오는 Use Case입니다.
Declaration
Swift
func makeTopRatedMoviesUseCase() -> TopRatedMoviesUseCase
Return Value
Domain의
TopRatedMoviesUseCase
protocol을 Return합니다. -
Declaration
Swift
func makePosterImageUseCase() -> PosterImagesUseCase
-
평점순 영화 api와 직접 연결해서, raw data를 관리하는 Repository를 불러오는 메서드입니다.
- 해당 Repo는
apiDataTransferService
Service를 주입받고 생성합니다.
Declaration
Swift
private func makeTopRatedMoviesRepository() -> MoviesTopRatedRepository
Return Value
DIP 원칙을 준수하는
MoviesTopRatedRepository
protocol를 Return합니다. - 해당 Repo는
-
영화 Poster Image를 불러오는 Repository를 불러오는 메서드입니다.
- 해당 Repo는
imageDataTransferService
활용이 필요하며, 해당 Service를 주입받고 생성합니다.
Declaration
Swift
private func makePosterImagesRepository() -> PosterImagesRepository
Return Value
DIP 원칙을 준수하는
PosterImagesRepository
Protocol를 Return합니다. - 해당 Repo는
-
Movie TopRated ViewController를 불러오는 메서드입니다.
Declaration
Swift
func makeMoviesTopRatedViewController(actions: MoviesTopRatedViewModelActions) -> MoviesTopRatedViewController
Parameters
actions
flow coordinator에서 활용되는 actions 구조체입니다. 이는 ViewModel을 만드는 메서드에 직접 주입합니다.
Return Value
MoviesTopRatedViewController
를 Return합니다. -
Movie TopRated ViewModel를 불러오는 메서드입니다.
Declaration
Swift
private func makeMoviesTopRatedViewModel(actions: MoviesTopRatedViewModelActions) -> MoviesTopRatedViewModel
Parameters
actions
flow coordinator에서 활용되는 actions 구조체입니다.
Return Value
MoviesTopRatedViewModel
를 Return합니다. -
Movie TopRated Flow Coordinator를 불러오는 메서드입니다.
- 해당 함수는
AppFlowCoordinator
에서 실행합니다.
Declaration
Swift
func makeMoviesTopRatedFlowCoordinator(navigationController: UINavigationController) -> MoviesTopRatedFlowCoordinator
Parameters
navigationController
해당 화면의
UINavigationController
를 파라미터로 받습니다.Return Value
MoviesTopRatedFlowCoordinator
를 Return합니다. - 해당 함수는