(RPM)Iocを、反転制御と依存性注入

アドレス重版:https://zhuanlan.zhihu.com/p/95869440

 

反転制御
(IOCと呼ばれる制御の反転)制御の反転は、オブジェクト指向プログラミングの設計であり、その役割は、コード間の結合度(低[バルク]結合)を低減することです。IoCの依存性注入(Denpendencyインジェクション)を達成するために、その2つの主な方法、一つは依存のルックアップ(Denpendency参照)です。コード間の結合度の高い問題を解決するための方法によってのIoC依存性注入。

制御の反転を理解する方法
逆に理解する前に、コントロールの下で、我々は、分割したいコントロール「コントロール」の反転に分割し、「リバース。」も したがって、我々は次の3つの質問を描くことができます:
誰が誰を制御しているのですか?
コントロールとは何ですか?
逆は何ですか?
理由を知ってもらうために、私たちは開始点を見つける必要があり、その後、制御の提案反転が目的は何ですか?私たちの目的は、コード間の結合の前にそれを軽減することです。
だから、必然的に複数のオブジェクトが存在します、そこには、オブジェクト間およびオブジェクトは、オブジェクト間の下、この依存関係であるという関係に依存するようにバインドされている、それはオブジェクト間の結合度を示し、実際のプロジェクトでそれを結合度何ですそのコード低く、高いスケーラビリティ。物事が明確になると、制御の反転の目的うち最初のソート次の私たちは、コード間の結合を低減するために使用されている場合、結合度を理解した後、オブジェクトコードとの結合の程度との間の依存関係が、また、この手段は、オブジェクト間の依存関係は、私たちはより良い低く制御したいということ。

ここで、我々は説明する例を使用して、例えば、我々は今持っている二人はAとBのオブジェクト、そして今、あなたは我々がそれを行う方法、AのオブジェクトBに使用する、であるBのオブジェクトAのオブジェクトああ、に新しいものではありませんコントロールとオブジェクトBのオブジェクトは、今、私たちは理解していない、コントロールは、依存オブジェクトの作成を参照します。もちろん、上司であるこのプロセスでは、Aが最終決定権ので、創造を支配し、A、Bです。

制御は、すべてのリソースのリソース取得処理に依存して制御される(B対象)取得、支配現在のアプリケーション(被験者)を意味します!

この時点で、我々は2を知って取得する必要があり、反転があります。我々は以前の分析から、オブジェクトがコントロールオブジェクト内の現在のオブジェクトに依存しないコントロールの現在のオブジェクト、そして逆、に依存している知っています。それを制御する人たちは、我々は、我々が最初に私たちの前に、なぜ提案をまとめる前に、依存性注入、3アンダーを説明する必要があります。

誰コントロール:(等オブジェクトデータ、)現在のアプリケーションに依存する制御リソースを、
どのコントロール:リソース取得処理、
逆もの:リソース取得依存手順が逆転され、

依存性注入(Denpendency注射、DIとも呼ばれます):
私たちは分析する前に、制御が逆になり、それは、取得プロセスが逆転されたリソースに依存しています。アプリケーションによって取得するためのイニシアチブは、受動的な受け入れになる前に。また、依存性注入の前に理解して、我々はすなわち、上記で分割に従ってへの道の下でも、次のとおりです。
誰に依存?
何が依存していますか?
誰が注入されていますか?
インジェクションとは何ですか?
ちょうど今、私たちは、アプリケーションが間接的に依存するオブジェクトを、それを助けるために、IoCコンテナに依存していることを意味してリソースを取得し、アクティブにパッシブからの変更により、アプリケーションを分析する必要があります。そして、寝具の前に、アプリケーションに注入されたリソースの依存オブジェクトは、我々は、上記の質問に論理的な答えを完了することができます。
誰が依存性:アプリケーションはIoCコンテナを依存しています。
どのような依存関係は、以下のとおりです。リソースの依存オブジェクト;
を注射した:外部リソースの依存関係、
どのような注入されている:アプリケーション依存のリソースが注入され、

要約:
依存性の注入はあります依存オブジェクトの作成を完了し、現在、すべてのIoCコンテナによって行わに適用する前に、制御の逆転を達成するための一つの方法は、制御の反転は、コンテナであるキャリア注入、に依存しています。その値の間の依存性は、剥離アセンブリ高い凝集成分、スケーラビリティと高可用性を実現するために実装されています。

おすすめ

転載: www.cnblogs.com/zhaobao1830/p/12004954.html