ホームページ >PHPフレームワーク >YII >yii 依存関係注入は何に役立ちますか?

yii 依存関係注入は何に役立ちますか?

藏色散人
藏色散人オリジナル
2020-07-22 11:53:112989ブラウズ

yii 依存関係の注入は、依存するクラスをコンテナーに配置し、これらのクラスのインスタンスを解析することです。その目的は、クラスの分離を実現することであり、「依存関係の注入」はデザイン パターンの実装でもあります。関数を実装する際の「前後の依存関係」または「コンテキストの依存関係」に関する懸念を解決します。

yii 依存関係注入は何に役立ちますか?

yii 依存関係の注入:

依存クラスをコンテナに配置し、これらのクラスの依存関係を解析する例依存性注入です。目的はクラスの分離を達成することです。

推奨: 「yii チュートリアル

はじめに:

「依存性の注入」を始める前に、最初にデザイン パターンについて話します。この側面から始めると、より早く理解できると思います。

私たちが初めてプログラミングを学んだとき、「手続き型」プログラミングを学びました。たとえば、ある機能を実装するには、上から下に一文ずつ実装します。せいぜい共通の機能をいくつか整理する程度でした。いくつかの一般的なパッケージ(関数)として出力されます。次に「オブジェクト指向」について学び、その後は「オブジェクト」の概念を応用してより良いプログラム(さまざまなデザインパターン)を設計する方法について学びましたが、「依存性注入」もデザインパターンの実装です。その実装により、関数を実装する際の「前後の依存関係」または「コンテキストの依存関係」に関する懸念が解決されます。この文はわかりにくいと思うので、簡単に説明しましょう。

「前後依存性」を理解する方法

たとえば、「BMW」と「ポルシェ」をそれぞれ作りたいとします。BMW を製造するときは、次のことを厳守する必要があります。次の順序 (1、2 は固定の順序ではありません):

1. BMW 工場を見つけます (必須または含める)

2. BMW を製造する前の準備を整えます (初期化する)オブジェクトのパラメータ (パラメータがオブジェクトの場合) その場合、いくつかのパラメータも準備する必要があるかもしれません...)

3. 1 と 2 が完全に準備されて初めて、「BMW」(新しいBaoMa($params1,$params2….))、つまり、1 と 2 は 3 の前に来なければなりません。

「ポルシェ」の製造にも同様の工程が必要ですが、もちろん他の車を製造する場合にもこの工程を経る必要があります。これが「表裏依存」の問題です。クルマを実現するプロセスを個別に整理し、普遍化する方法はあるだろうか?つまり、実装プロセスを先に準備してから「素材」を提供するということですが、提供する「素材」(依存性注入)によって何を実装したいかが決まります。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。