AppDIContainer

final class AppDIContainer

앱의 전체적인 의존성 주입을 관리하는 Container입니다.

  • DI Container의 주요 특징은 각 상황에서 필요한 class를 해당 class의 init, static create 메서드를 통해 생성 후 해당 class를 return합니다.
  • Data 단계에 의존성을 주입하기 위한, NetworkService(UrlSession, Moya, Alamofire)..를 생성합니다.
  • 각 화면에 대한 DIContainer들을 생성합니다.
  • API Key, API URL 정보 변수입니다.

    Declaration

    Swift

    lazy var appConfiguration: AppConfiguration { get set }
  • API NetworkService 변수 입니다.

    • 해당 변수는 전반적인 api 네트워크를 담당합니다.
    • Infrastructure / Network -> DataTransferService protocol를 채택한 Network Service class(DefaultNetworkService)를 생성합니다.

    Declaration

    Swift

    lazy var apiDataTransferService: DataTransferService { get set }
  • API NetworkService 변수 입니다.

    • 해당 변수는 image 네트워크를 담당합니다.
    • Infrastructure / Network -> DataTransferService protocol를 채택한 Network Service class(DefaultNetworkService)를 생성합니다.

    Declaration

    Swift

    lazy var imageDataTranserService: DataTransferService { get set }

DIContainers of scenes