++コーディング:Spring_IOC(制御の反転)が詳細

IOCは何ですか。

  1):コントロールのIOC-反転、「制御の反転」、技術的ではないが、デザインのアイデアです。

  2):Java開発では、IOCはあなたではなくあなたの内部のオブジェクトの上に伝統的な直接制御するよりも、コンテナコントロールにオブジェクトを設計していることを意味します。

どのように良いIOCは理解できますか?

理解へのIOCの良いキーは、我々は徹底的に分析するために持っていること「用語を逆にする理由が逆転されているもの制御、誰がコントロール(反転は正のターンを持っている必要があります)、誰であるか」を定義することです:

●誰がコントロールし、どのような制御:従来のJava SEプログラミング、我々は直接オブジェクト内に新しいを通じてオブジェクトを作成し、依存オブジェクトを作成するためのプログラム・イニシアチブ; Iocをコンテナから来て、IoCのは、これらのオブジェクトを作成するための特別なコンテナです、オブジェクトを作成するように制御します。

  誰がコントロール?もちろん、コントロールオブジェクトはIoCコンテナです。

  どのようなコントロール?それは(だけでなく、など、このようなファイルなどのオブジェクトを含む)のリソースへの主制御外部からのアクセスです。

●なぜ逆転され、何が逆:レガシーアプリケーションは前進であり、直接依存オブジェクトへのオブジェクト制御の自社のイニシアチブによって、逆前方そこに持っています。

●コンテナによって逆転作成に役立つと依存オブジェクト注入です。

●なぜ逆転さ?コンテナは私たちが見つけるのに役立つと依存オブジェクト、それ受動的に依存オブジェクトを受け入れるのオブジェクトを注入するので、それは逆です。

●何を逆転していますか?買収は逆に対象物に依存しています。

IOCは何をすることができます。

IOCは技術が、ガイドはどのように我々は疎結合、より良いプログラムを設計するという考えは、オブジェクト指向プログラミングの重要なルールではありません。従来のアプリケーションは、クラス間の高い結合が得られ、クラスの依存オブジェクト内たちの主導で作成され、それが困難なテストです。あなたは、コンテナでコンテナにコントロールの依存オブジェクトを作成し、検索するIoCコンテナを持っていたら、オブジェクト間、オブジェクトの組み合わせを注入し、オブジェクトが緩くも多重化機能を助ける試験を容易にするであろうれ、結合されて、より重要なのは、プログラムの全体のアーキテクチャは、非常に柔軟になってきていることができます。

1):実際に、最大の変化をもたらすのIoCプログラミングコードからではなく、イデオロギーの点で、変化「マスター・スレーブ位置変更」が発生しています。

2):アプリケーションがリソースがイニシアチブを取るためにあるものを手に入れるために、もともと上司だったが、のIoC / DIでアプリケーションが受動的になり、思いました  

        受動的待機IoCコンテナを作成し、それが必要なリソースを注入します。

3):オブジェクト指向設計原理の一つのIoCの良い表示。ハリウッドのルールは:「私たちに来ないでください、私たちはあなたのために探している」;であること、助けに依存オブジェクトのIoCコンテナと注射による適切なオブジェクトを見つけるのではなく、オブジェクトを検索するためのイニシアチブをとります。

IoCの和の場合:

DI-依存性注入、すなわち、「依存性注入」:実行時のコンポーネント間の依存関係は、容器によって決定され、コンポーネントに容器ダイナミック依存性によって注入される画像は述べています。

依存性の注入は、ソフトウェアシステムに多くの機能を持ってますが、コンポーネントの再利用頻度を向上させるために、そして柔軟でスケーラブルなプラットフォームを構築するためのシステムのためのものではありません。

経由して依存性注入メカニズム、我々は唯一の簡単な設定を必要とし、任意のコードをせずに、特定のリソースを心配することなく、自社のビジネスロジックを完了するために必要なターゲット・リソースを指定することができます達成するために、誰から来ます。

DIは、理解するための鍵です:私たちは徹底的に分析するために持っていることを「注入された方の依存、なぜ頼りに、注入何か」:

●誰が誰に依存します。もちろん、IoCコンテナに依存したアプリケーションです。

●なぜに依存しています。アプリケーションは、オブジェクトを必要な外部リソースを提供するために、IoCコンテナを必要とします。

●誰注射:アプリケーションに依存し、オブジェクトがオブジェクトにIoCコンテナアプリケーションに注入されることは明らかです。

外部リソースに注入されたオブジェクトは、(オブジェクト、資源、定数データを含む)が必要:●何を注入しました。

それをどうするかによってのIoCとDI?

  実際に、彼らは、制御概念の反転漠然とによる異なる角度の説明、同じコンセプトです(おそらく唯一のコンテナコントロールオブジェクトとして理解することが、このレベルは、オブジェクト・リレーショナル保護するために行くことを考えるのは難しいです)、

  2004年の達人Martin Fowler氏だから、新しい名前与えられた:「依存性注入」、比較的IoCのを言えば、「依存性の注入は、」はっきり「オブジェクトの依存関係がIoCコンテナの構成に依存するオブジェクトを注入している。」説明します

 

 

春のIoCに多くの記事を読む理解し、人のIOC解釈とDIの多くは、とにかく、あいまいされ、不可解な感情の一種である、それはまだ損失である読んだ後、気持ちが開いタオです牛は、特にユーザーフレンドリーな技術を書かれていました

彼は明らかにそれを読んだ後明確な洞察力の感じを与えて、すべての単語でのIoC(制御の反転)及びDI(依存性注入)を説明しています。私は春のフレームワークののIOC理解が大きな助けになるはずです初心者のためにそれを信じています。

おすすめ

転載: www.cnblogs.com/codingmode/p/12593439.html