아키텍처
프로토콜 지향 기능 조합
경로 안내, 요금 계산, 실시간 위치 갱신을 가진 iOS 이동 서비스 기능에서 상속 계층이 복잡해졌습니다. 프로토콜 지향 설계로 공통 능력과 서비스별 차이를 어떻게 조합하겠습니까?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
경로 안내, 요금 계산, 실시간 위치 갱신을 가진 iOS 이동 서비스 기능에서 상속 계층이 복잡해졌습니다. 프로토콜 지향 설계로 공통 능력과 서비스별 차이를 어떻게 조합하겠습니까?
상속 계층 대신 위치 스트리밍, 요금 계산, 경로 안내처럼 능력 하나당 작은 프로토콜을 둔다. 택시나 대리 같은 서비스 타입은 필요한 프로토콜만 조합해 채택하고, 공통 구현은 protocol extension의 기본 구현이나 프로퍼티로 소유하는 구체 객체에 넣는다.
아키텍처주관식기초
iOS 앱에서 의존성 주입(DI)은 왜 하는 것인가요?
#dependency-injection
아키텍처객관식기초
의존성 주입 방식에 대한 설명으로 옳은 것을 모두 고르세요.
#dependency-injection
아키텍처주관식기초
의존성 주입(Dependency Injection)과 의존성 역전 원칙(Dependency Inversion Principle)은 이름이 비슷한데 무엇이…
#dependency-injection
아키텍처객관식기초
AnalyticsManager.shared처럼 코드 곳곳에서 직접 참조하는 싱글톤이 있는 코드베이스에서, 이를 쓰는 뷰모델을 단위 테스트하려 합니다. 올바른…
#dependency-injection