Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

sanichdaniel의 iOS 개발 블로그

Dagger를 참고한 프로퍼티 래퍼를 이용한 DI 본문

dependency injection

Dagger를 참고한 프로퍼티 래퍼를 이용한 DI

sanich8355 2020. 10. 4. 19:05
iOS에서는 정형화된 DI 방식이 없는데, Android에서는 Dagger을 많이들 쓰는것 같았다.
Dagger을 참고하여 iOS에서 DI를 구현해보면 어떨까하는 생각에 이르게 되었다.

 

프로퍼티 래퍼를 이용해 의존성 주입을 할려했으나, 실상은 Service Locator 패턴에 가까웠다.

프로퍼티 래퍼를 통해 Locator 레이어를 타겟 객체로부터 숨겼던것 뿐이었다.

하지만 타겟 객체가 직접 의존성을 요청하지 않고, 프로퍼티 래퍼 안에서 의존성을 요청한다는점에서 Serice Locator 패턴에서 진화된 형태로 볼 수 있을거시다.

프로퍼티 래퍼를 이용한 Service Locator 패턴의 장점으로는 단순함이 있을것 같다.

어떻게, 어디서 의존성을 넣어줄지 고민을 안해줘도 된다.

@어노테이션만 붙이면 타겟 객체는 알아서 의존성이 주입된다.

단점으로를 외부에서 주입하는것이 아니니, 의존성을 갈아끼우기 어렵다는 점이 있을것 같다.

이 떄문에 테스트하기도 어려워질것 같다.

'dependency injection' 카테고리의 다른 글

Pure DI  (1) 2020.10.04
Dagger2 알아보기  (0) 2020.10.04
Service Locator vs DI  (0) 2020.10.03
DI 컨테이너 장단점  (0) 2020.10.02