jonghokim
2014.12.11



Mortar.java
DateApplication.java
RootScope

ObjectGraph 를 가진 Tree 구조 (ObjectGraph - Dagger 참조)
RealScope.java

BaseActivity.java
RootScope
ActivityScope


Mortar.java
RealScope.java
BluePrint 는 무엇인가?


Blueprint.java (Interface)
HomeBlueprint.java
Blueprint 는 단순히 모듈을 들고 있는 청사진
Scope 에서 ObjectGraph 를 생성할 때 어떤 모듈을 이용해서 만들지 설정해놓는다.

RealActivityScope.java
doLoding() ? 뒤에서 자세히
http://corner.squareup.com/2014/10/advocating-against-android-fragments.html
Activity + CustomView 구조!

HomeView.java (BaseActivity 에 붙어있다.)
RootScope
ActivityScope
ViewScope

RealActivityScope.java (RealScope.java 와 다르다. RealActivityScope가 RealScope 상속한다.)
RootScope
ActivityScope
ViewScope
ViewScope
ViewScope
Activity Scope 에 ViewScope 를 붙여서 확장가능
ActivityScope
ViewScope
ViewScope
ViewScope

BaseActivity.java



RealScope.java
Application 의 ObjectGraph 가 모든 Module 을 들고 있어서 메모리 차지하는 문제를 해결 !

HomeView.java

HomeBluePrint.java

Presenter.java


RealActivityScope.java

RealActivityScope.java

Presenter.java

RealActivityScope.java
View마다 Presenter 가 있고, Presenter 에 Bundler 이 있고 Bundler 은 Activity lifecycle 에 맞게 호출 된다. -> onSaveInstanceState() 와 restore 을 View 별로 관리하기 쉬워진다.
state 복구할 때 는 onCreate(savedInstance) 에서 parameter 로 넘어온 savedInstance 를 저장해두고 나중에 Presenter#takeview() 에서 이용한다.