아키텍처
API 클라이언트 추상화
인증 서버, 상품 서버, 결제 서버용으로 비슷하지만 조금씩 다른 네트워크 클라이언트가 세 개 있습니다(헤더, 인코딩, 에러 형식이 다름). 이를 프로토콜로 어떻게 추상화해 중복을 없애나요?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
인증 서버, 상품 서버, 결제 서버용으로 비슷하지만 조금씩 다른 네트워크 클라이언트가 세 개 있습니다(헤더, 인코딩, 에러 형식이 다름). 이를 프로토콜로 어떻게 추상화해 중복을 없애나요?
요청 명세(Endpoint)와 전송(HTTPClient)을 분리한다. Endpoint 프로토콜이 path·method·headers·body·응답 디코딩을 정의하고, 서버별 차이는 Endpoint 그룹 또는 인터셉터(헤더 주입, 에러 매핑)로 표현한다. 전송 계층은 하나로 통일한다.
네트워킹주관식기초
폰스크린에서 "Swift 로 간단한 네트워킹 레이어를 설계해 보라" 는 질문을 받았습니다. 서드파티 없이 URLSession 위에 어떤 타입들을 두고 각 타입이…
#generic #endpoint
아키텍처주관식기초
iOS 앱에서 의존성 주입(DI)은 왜 하는 것인가요?
#protocol
아키텍처주관식기초
의존성 주입(Dependency Injection)과 의존성 역전 원칙(Dependency Inversion Principle)은 이름이 비슷한데 무엇이…
#protocol
아키텍처주관식심화
테이크홈 과제입니다. 분석 이벤트를 여러 서비스(Google Analytics, Snowplow 등)로 보내는 계층을 Swift만으로 설계하세요. 조건…
#protocol