-
Google AEP 2018 스터디 / Dagger2의 장/단점 토의책, 강연, 스터디 2018. 2. 25. 14:11728x90
Google AEP 2018 스터디
스터디 주제 : Dagger2의 장/단점 토의
일시 : 2018년 2월 25일
Dagger2의 장점으로 공식 웹사이트에 기술되어 있는 내용 밝췌
Dagger is a replacement for these FactoryFactory classes that implements the dependency injection design pattern without the burden of writing the boilerplate. It allows you to focus on the interesting classes. Declare dependencies, specify how to satisfy them, and ship your app.
출처 : https://google.github.io/dagger/users-guide
Q. Dagger2의 장점으로, class를 사용할 때 작성해야만 하는 boilerplate코드를 줄여주는 것을, 장점으로 꼽는다.
이 부분에 대해서, 실제 사용해본 소감을 가지고, 토의한 내용
- boilerplate코드는 좀 줄어드는 것을 기대할 수 있다.
하지만, @Provider 코드를 직접 작성해야 하는 것을 가만할 때, 전체 코드양의 관점에서 보면, Dagger2를 사용했을 대, 코드가 크게 줄어든다고 볼 수 는 없다.
- Unit 테스트 코드를 작성할 때, Dagger2를 사용했다면, 테스트 코드의 양은 많이 줄일 수 있다.
@Inject를 사용해서, 인스턴스를 만들어 바로 테스트 코드를 작성할 수 있다. 이미 안 드로이드 앱/서비스 코드가 Dagger2를 사용해서, DI방식으로 작성되어 있다면, 테스트 코드를 작성할 때, 코드의 양은 많이 줄일 수 있다.
Q. 객체의 생성및 소멸주기를 @scope를 통해서 일임하여, 코드를 쉽게 작성할 수 있다.
- Spring처럼 생성된 인스턴스의 재 사용이 빈번한 경우라면, 도움이 되지만, 일반적으로 안드로이드 앱의 경우에는 그만큼 빈번하지 않아서, 도움이 된다고 하기 어렵다.
Q, Dagger2는 어떻게 사용하는 것이 바람직 한가?
아래와 같은 특성을 가진코드를 작성할 때는 Dagger2를 사용하는 것을 추천
- 다양한 Unit테스트를 작성해야할 필요가 있는 코드
- Regression이 발생하였을 때, 빨리 대응을 해야 하는 경우
728x90'책, 강연, 스터디' 카테고리의 다른 글
[서평] 50대 사건으로 보는 돈의 역사 (0) 2019.06.12 My projects for Udacity Data Analyst Nanodegree Program (0) 2019.02.16 위데이터랩(Wedatalab) IT Innovator 프로그램이 시작되었습니다. (0) 2019.02.10 udacity - DATA FOUNDATIONS (0) 2018.02.10 상상하지 말라- 그들이 말하지 않는 진짜 욕망을 보는 법 (0) 2015.08.09