그래서 이번 주말에 Mortar and Flow과 많은 시간을 보내고 있습니다. 나는 그것이 원래 생각했던 것보다 조금 더 복잡하다는 것을 발견했다. 그 이유는 대부분 Mortar가 크게 의존하고있는 Dagger의 ObjectGraph Scoping에 대해 내 마음을 제대로 갖지 않았기 때문이다. Dagger 사이트에서이 기사를 읽을 수있는만큼 많이 읽었지 만, 단검과 관련이있을 때이 주제에 대한 정보가 부족합니다.흐름/박격포로 단검 및 객체 그래프 스코핑
그래서 몇 가지 질문이 있습니다
@Layout(R.layout.screen_friend)
public class FriendScreen implements Blueprint {
@Override public String getMortarScopeName() {
return getClass().getName();
}
@Override public Object getDaggerModule() {
return new Module();
}
@dagger.Module(
injects = FriendView.class
)
static class Module {
}
@Singleton
public static class Presenter extends ViewPresenter<TestView> {
@Inject
public Presenter() {
Log.d("FriendScreen", "Friend Presenter Created");
}
@Override protected void onLoad(Bundle savedInstanceState) {
super.onLoad(savedInstanceState);
}
}
그것은 내부 클래스의 구체적 때문에이 모듈로 범위이 경우 발표자 : 나는 싱글의 @ 범위 지정 이들의 예를 참조 1.? 2. 인스턴스가이 개체 그래프에서만 생성되지만 전역 응용 프로그램 개체 그래프에서는 생성되지 않도록하려면 어떻게해야합니까? 2. 발표자가 너무 크면 자신의 별도 강의실로 옮기고 싶습니다. 이 모듈의 범위는 어떻게됩니까? 3. 예제에서 Module 클래스 중 일부는 정적이고 다른 클래스는 정적이라는 것을 알았습니다. 이것이 스코프에 영향을 미칩니 까? 4. Dagger의 Object Graph를 더 잘 이해하기 위해 더 읽을 수있는 곳은 어디입니까? 난의는, 주입 addsTo과 이러한이 ObjectGraph 생성 등에 사용되는 포함하는 더 나은 이해를 얻을 필요가 :
@dagger.Module(//
includes = ActionBarModule.class,
injects = MainView.class,
addsTo = ApplicationModule.class, //
library = true //
)