AndroidアプリケーションにDagger 2を使用していますが、Android用語なしで問題を説明しようとします。ダガー2 1つのコントローラ、スコープされた2つのコンポーネントに依存
単純に、UIを表示するコントローラが1つあります。適切な単位で適切な値を表示するには、このコントローラは2つのスコープ付きコンポーネントに依存する必要がありますが、これは不可能です。ここで
ケースである:私は
- を持っている - データベースコンポーネントとスコープ@ApplicationはApplicationComponentに依存します。
- 1つのPreferencesComponent - もう一度コンポーネント、@Applicationでスコープされ、ApplicationComponentに依存します。
ControllerComponentは、適切な単位(摂氏、華氏、M/S、km /時を示すために私のコントローラが示されなければならないデータを得ることができるので、両方のDbComponentに依存する必要があり、PreferencesComponentオン等)。
グラフを実装するにはどうすればよいでしょうか?
私は私に似た質問を、見たが、彼らは助けにはならなかった - question 1、question 2
これらの "コンポーネント" のほとんどはモジュールでなければなりません。そういうわけではないのです。続きを読む:http://stackoverflow.com/questions/40545075/dagger2-and-android/40546157#40546157 – EpicPandaForce
「スコープごとに1つのコンポーネント」パターンなど何か別のパターンを実行するよう指示していますか?私はその質問が部分的に哲学的だと思う。なぜ(例えば)DbComponentはモジュールだけでなければならないのに対し、networkcomponentのようなものは別のモジュールの代わりに別のコンポーネントになければなりませんか? – definera
ネットワークコンポーネントもシングルトンスコープですが、そうではありませんか?次に、シングルトンコンポーネントの一部であるモジュールでなければなりません。あなたがその答えを見るならば、 'NetworkingComponent'は実際のコンポーネントではなく、その中にあるプロビジョニングメソッドを持つ通常の' public interface'でした。 – EpicPandaForce