VIPER - View, Interactor, Presenter, Entity, Router View UIViewController를 포함한 UIKit의 파일들입니다. Presenter에 의해 보여주기만 하고 비지니스 로직은 없습니다. Interactor 비지니스로직을 담당합니다. UI와 완전히 독립적입니다. Presenter View에서 요청하는 데이터를 포맷에 맞게 준비하는 UIKit과 독립된 클래스입니다. Interactoer에서 데이터를 가져옵니다. Entity Interactor가 사용하는 model입니다. Router 화면전환을 담당합니다. VIPER특징 SOLID하고 명확하다. 테스트하기 좋다 재사용성이 좋다. 크고 복잡한 앱에 잘 어울린다. 구조가 크고 복잡해서 VIPER클래스를 자동으로 ..
Managing a Shared Resource Using a Singleton 단 하나의 공유된 클래스 인스턴스를 사용하여 공유 자원에 대한 접근을 제공 Overview 싱글톤을 사용하여 글로벌로 접근할 수 있는 공유 클래스 인스턴스를 제공합니다. 앱을 통해 공유되는 리소스 또는 서비스에 대한 통합 access point를 제공하는 방법으로 싱글톤을 만들 수 있습니다. 예를 들어 사운드 효과를 재생하기 위한 오디오 채널이나 HTTP 요청을 만들기 위한 네트워크 관리자가 있습니다. Create a Singleton static type property를 사용하여 간단하게 싱글톤을 만들 수 있습니다. 멀티 쓰레드에서 동시에 액세스하더라도 한 번만 Lazy하게 초기화 됩니다. class Singleton {..