依存性注入とは何ですか

清浅
リリース: 2019-04-01 16:48:01
オリジナル
7114 人が閲覧しました

依存性インジェクションとは、制御の反転を実装して依存性問題を解決する設計パターンで、コンストラクターインジェクション、プロパティインジェクション、メソッドインジェクションの3種類があります。依存関係の削減やコンポーネントの再利用性の向上などの利点があります。

依存関係注入 (DI) は、プログラミング コード間の依存関係を排除する設計パターンであり、アプリケーションの管理とプログラムのテストが容易になります。次に、この記事では、一定の参考効果がある依存性注入とは何かについて詳しく紹介します。推奨コース:

依存性注入とは何ですかSpring チュートリアル

#]Dependency Injection: プログラミングにおける, 依存性注入 制御の反転を実装するデザインパターンであり、依存性の問題を解決するために使用されます。依存関係とは、悪用される可能性のあるオブジェクトを指します。依存関係の注入は、使用される依存オブジェクトに依存関係を渡すことです。サービスはクライアントの状態の一部となり、クライアントがサービスを作成したり検索したりすることなく、サービスをクライアントに渡します。依存関係注入により、プログラミング コードが疎結合になり、管理が容易になります

依存関係注入の種類:

依存性注入とは何ですか注入されたクラスは (依存関係) クライアントへのインジェクション (依存関係) は次の形式に分けることができます。

(1) コンストラクター インジェクション: コンストラクター インジェクションでは、インジェクターはクライアント クラスのコンストラクターを通じてサービス (依存関係) を提供します。 (2) プロパティ インジェクション: プロパティ インジェクション (Setter インジェクションとも呼ばれる) では、インジェクターはクライアント クラスのパブリック プロパティを通じて依存関係を提供します。

(3) メソッド インジェクション: このタイプのインジェクションでは、クライアント クラスは依存関係を提供するメソッドを宣言するインターフェイスを実装し、インジェクターはこのインターフェイスを使用してクライアント クラスの性別に依存関係を提供します。

依存関係注入の利点:

(1) 依存関係の削減

依存関係注入により、コンポーネント間の不一致を排除または軽減できます。必要な依存関係。コンポーネント変更の影響を軽減するには コンポーネント

# (2) 再利用性の向上

#コンポーネントの依存関係を減らすと、コンポーネントの再利用性が向上します。インターフェースの異なる実装が異なるコンテキストで必要な場合、または同じ実装の異なる構成が必要な場合は、その実装を使用するようにコンポーネントを構成できます。コードの変更は必要ありません。

(3) コードのテスト容易性の向上

依存関係注入により、コンポーネントのテスト容易性も向上します。依存関係をコンポーネントに注入できる場合は、それらの依存関係のモック実装を注入できることを意味します。モックオブジェクトは実際の実装の代替としてテストに使用され、モックオブジェクトの動作を設定できます

#(4) コードの可読性の向上

# #Dependency Injection は依存関係を変換できます。項目はコンポーネントのインターフェースに移動されます。どのコンポーネントに依存関係があるのか​​がわかりやすくなり、コードが読みやすくなります。

(5)

依存関係の軽減

依存関係により、コード内に多くの「ノイズ」が発生し、読みにくくなり、読みにくくなる可能性があります。を維持し、コンポーネントのテストを困難にします。依存関係の注入により、依存関係の保持と静的シングルトンの使用が削減され、コンポーネントを完全に接続できます。

概要: 上記がこの記事の全内容です。皆様のお役に立てれば幸いです

以上が依存性注入とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート