package jp.mixi.sample.di; import jp.mixi.sample.di.ui.helper.MainOptionsItemSelectionHandler; import jp.mixi.sample.di.ui.helper.OptionsItemSelectionHandler; import jp.mixi.sample.di.ui.helper.OptionsMenuEventDispatcher; import jp.mixi.sample.di.ui.helper.SettingMenuEventDispatcher; import jp.mixi.sample.di.ui.helper.UnknownMenuEventDispatcher; import proton.inject.DefaultModule; import proton.inject.scope.ContextScoped; public class DependencyInjectionSampleModule extends DefaultModule { @Override protected void configure() { super.configure(); // どのクラスがどのインタフェースに従っているかと、どのコンポーネントのライフサイクルに依存するかを規約として決める bind(OptionsItemSelectionHandler.class).to(MainOptionsItemSelectionHandler.class).in(ContextScoped.class); bind(OptionsMenuEventDispatcher.class).to(SettingMenuEventDispatcher.class).in(ContextScoped.class); bind(OptionsMenuEventDispatcher.class).to(UnknownMenuEventDispatcher.class).in(ContextScoped.class); } }