아키텍처
DI vs DIP
의존성 주입(Dependency Injection)과 의존성 역전 원칙(Dependency Inversion Principle)은 이름이 비슷한데 무엇이 다른가요?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
의존성 주입(Dependency Injection)과 의존성 역전 원칙(Dependency Inversion Principle)은 이름이 비슷한데 무엇이 다른가요?
DIP는 '상위 정책이 구체가 아니라 추상에 의존하고, 구체가 그 추상을 구현한다'는 설계 원칙이고, DI는 '객체가 필요한 것을 스스로 만들지 않고 밖에서 받는다'는 기법이다. DI는 DIP를 실현하는 흔한 수단이지만 구체 타입을 주입하면 DIP는 여전히 깨져 있다.
아키텍처주관식기초
iOS 앱에서 의존성 주입(DI)은 왜 하는 것인가요?
#dependency-injection #protocol
아키텍처객관식기초
AnalyticsManager.shared처럼 코드 곳곳에서 직접 참조하는 싱글톤이 있는 코드베이스에서, 이를 쓰는 뷰모델을 단위 테스트하려 합니다. 올바른…
#dependency-injection #testability
아키텍처주관식입문
여행 앱에서 전역 SessionManager.shared가 인증, 캐시, 분석, 실험 값을 모두 들고 있어 테스트가 어렵습니다. Singleton으로 남겨도…
#dependency-injection #testability
iOS 시스템 디자인주관식심화
"북마크 저장" 기능 하나를 Swift 코드 골격으로 설계해 보세요. 화이트보드 대신 타입·프로토콜 시그니처 수준으로, 의존성을 어떻게 주입해 테스트 가능하게…
#dependency-injection #protocol