Так что я провел много времени с Mortar and Flow в этот уик-энд, и я думаю, что, наконец, я работал над этим. Я обнаружил, что это немного сложнее, чем я думал изначально, главным образом потому, что я не совсем понял, что касается объекта ObjectGraph Scag, который Mortar полагается на сильно. Я читал столько, сколько мог найти на этом сайте кинжала, но я нахожу информацию на эту тему, не относящуюся конкретно к кинжалу.Кинжал и диаграмма объектов с потоком/раствором
Поэтому у меня есть несколько вопросов: 1. я вижу примеры их Scoping @ Синглтона:
@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);
}
}
Является Выступающий в этом случае область действия в этом модуле конкретно потому, что это внутренний класс? 2. Как я могу убедиться, что его экземпляр создан только в этом графике объектов, но не в глобальном графике объектов приложения? 2. Что, если Презентатор был слишком велик, и я хотел переместить его в отдельный класс? Как я могу использовать его только для этого модуля? 3. Я заметил, что некоторые из классов модулей в своих примерах являются статическими, а другие - нет. Оказывает ли это какое-либо влияние на обзор? 4. Где я могу прочитать больше, чтобы лучше понять диаграмму объектов кинжала. Мне нужно, чтобы получить лучшее понимание того, включает в себя, впрыскивает, addsTo и как те, которые используются в создании ObjectGraph и т.д.:
@dagger.Module(//
includes = ActionBarModule.class,
injects = MainView.class,
addsTo = ApplicationModule.class, //
library = true //
)