何でウィンザー城、などによって異なります。かに○をつけてください。
-
02-07-2019 - |
質問
私は長年のWindows開発者は、切り自分の歯でwin32と早います。できないかなぁ、とおもってます。純2001年以降、いかに堪能なクライアントまで、フルのC#とCLR.んのウィンザー城で開始していますの参加スタックオーバーフロー.を読んで、ウィンザー城"はじめに"ガイドなのまま使用できます。
教えるこ犬に新しい技えかけることができるの統合ウィンザー城も企業のアプリとなります。
解決
ウィンザー城であるインバージョン管理ツールです。他にも非常に良かったです。
できオブジェクト構築済や配線済みの依存関係にあります。 全体オブジェクトのグラフを作成した反射法と構成ではなく、"新しい"者となります。
開始。 http://tech.groups.yahoo.com/group/altdotnet/message/10434
たとえばメール送信クラスです。EmailSender.たとえば別のクラスWorkflowStepper.内WorkflowStepperを使用する必要がありEmailSender.
おもう new EmailSender().Send(emailMessage);
その利用 new
作系を結合することが難しい変化します。この小さな逆の例ではすべて)
この場合ではなく、newingにあるこの少年内WorkflowStepper、あなただけの格でのコンストラクタ?
それで、誰としなければならなかった新のEmailSender.
new WorkflowStepper(emailSender).Step()
たとえば何百ものこれらの小さなクラスに来てみ責任(google SRP)..を使用してもらえるWorkflowStepper:
new WorkflowStepper(emailSender, alertRegistry, databaseConnection).Step()
想像しながらipodを再生し、お気に入りの詳細 EmailSender
を書いている際に WorkflowStepper
または AlertRegistry
あなただけの心配が懸念されます。
想像してこのグラフ(木)オブジェクトの依存関係が有線最大実行時に、このとき:
WorkflowStepper stepper = Container.Get<WorkflowStepper>();
まエクスペディア WorkflowStepper
すべての依存関係を自動的に充填します。
ありません new
それだけで 起 なので何のニーズをいてどのようにお考えですか。
とに書き込み不具合が少なくより良い設計、ドライコードのテスト容易化と繰り返します。
他のヒント
と思いIoCは石右方向への道筋により高い生産性との楽しさを開発チームを含む、BA、BOs).この確立の分離の関係者および試験をします。で安心してご使用いただけが毎に可能にする柔軟性としての枠組みがあります。
の達成を目標とIoC(CWまたはNinject等)は刺しで全廃する政治#1、#2の削除を要するための開かれたファサードの偽理解できます。これら二つの解決なしに関連しIoC?彼:)
マークSeemannの脚本を書き、優れた書DI(依存性注射)をサブセットのIOC.また比較のいからです。できないのです。書名:"依存関係を注入す。純" https://www.manning.com/books/dependency-injection-in-dot-net
ウィンザー城です Dependency Injection container.
ここで注入をご依存関係なく無断で使用創出し、新しいキーワードとなります。例えばを考慮したリポジトリまたはサービスの利用をご希望では、多くの場所で必要なもの最初の登録サービス/リポジトリの使用で注入し、必要な場所です。ご覧になることができ、以下のチュートリアルをしていただくために、学ぶウィンザー城.
リンク.
希望しないようにしてください.
簡単に言えば.たとえば一部のクラスの埋もれたコードを必要とするいくつかの簡単なconfig価値をいます。一緒にテーブルを囲んで食事をするのインスタンスを作成したクラスが必要となる依存関係は、通常とをrefactor負荷の授業、通り過ぎょconfigへのインスタンスが作成されます。
では多くの授業は不必要な変更は、バンチコンフィグの値を一つの大きなconfigのクラスも悪い...または最悪だくサービスロケータ!
IoCするための機能をクラスのすべてのdepencenciesなこと面倒ですし、管理強豪選手が集まり,直接打撃ルーインスタンスをより明示的ます。