🚀 ニフティ’s Notion

📱 【モバイルアプリ2025 #10】Dependency Injectionについて

💡
この章で話すこと
  • Dependency Injectionとは
  • Dependency Inversion Principle とは
  • Hiltとは

[復習]Dependency Injection (依存性の注入)とは

ℹ️
【Webアプリ2025 #4】インターフェースとDependency Injection  を参照

クラスが別のクラスに依存する場合、依存性を外部から渡すようにすること。

今回であればViewModelはRepositoryに依存しているので外部から注入している。

DIのメリット
  • クラスの再利用性の向上
  • 依存関係の分離
  • テストの容易性の向上

[復習]Dependency Inversion Principle(DIP, 依存関係逆転の原則)とは

ℹ️
【オブジェクト指向2025 #13】SOLID 原則  を参照

依存性を下げるため、抽象に依存させる

呼び出す側からすると、その結果を得られればよくで、どのようにやるか、内部の実装は関係ない

Androidでの実装方法

Androidでは自力実装しても良いが、 Hilt を使うことでボイラープレートを削減でき簡単に実現できます。

自力実装の例: