2009-07-28 8 views
2

RubyやPythonのような動的言語では、伝統的な(私たちの静的な人のための)インタフェースドリブンの実装による正式なIOCパターンの概念は存在しません。C#の動的キーは静的なIOCパターンを非難しますか?

C#'s upcoming Dynamic typeは、静的IOCパターンを除去する必要性を引き起こすか、少なくとも可能にしますか?そのMS's P&P Unity projectは231ページのドキュメンテーションが私の心に浮かぶ。確かに良い方法が潜んでいる!

+0

私にはわかりません。ダイナミックなタイピングは、IoC/DIのやり方をどのように変えますか? –

+0

ダイナミックな型指定はフェッチを大幅に変更することはありませんが、オブジェクトリポジトリと設定はずっと簡単にできると思います。ダイナミックタイプはBinsorが解決しようとする痛みを和らげませんか?:http://ayende.com/Blog/archive/2007/10/20/Dependency-Injection-doesnt-cut-it-anymore.aspx –

答えて

1

私は個人的に動的タイピングの使用のために私のIoCのものを削除したくないでしょう。私は強く型付けされたコードを可能な限り、動的に型指定する必要があるのは、そうでないときや、Comやjavascriptで作業しているときだけです。ダイナミックなタイピングを使用するだけで、TDDをサポートするためのコード臭のようなIoCパターンのサウンドが削除されます。 IoCは依然としてテストとデカップリングを行う最もクリーンな方法です。 ...少なくとも私の心の中で。

+0

私はいません既存のコードが改ざんされて置き換えられることを示唆しています - 私はそれを理解しています。しかし、動的なものは、静的なIOCのtarpitからの素晴らしい方法のように見えます。 –

+0

IoCの仕組みが大好きです。それは依存関係が前に述べられているように私のコードをより読みやすくします。また、StructureMapのようなツールを使用すると、設定のオーバーヘッドがほとんどなく、アプリケーションに大きな柔軟性が与えられ、同じ「もの」のさまざまなタイプの実装を注入できるようになります。 IoCパターンを使用すると、より簡単にテストすることができ、注入されるものを制御することができます。 IoCコンテナは、スワッピングと構成のための付加価値を提供します。これはダイナミックなタイピングが私に与える以上のものです! –

+0

Andrew - もう1つ... Castle Windsorも見ましたか?他のどのIOCでStructureMapが勝利しましたか?ありがとう。 –

2

さまざまな問題を解決します。 JSのようなものでIoCを自動配線する際の問題の1つは、静的型付けの欠如です。そのため、動的型はIoCの大きな利点の1つに作用します。

つまり、ある種の状況でIoCコンポーネントを受け取るために動的なタイプを使用できない理由はありません。そこには何らかの用途があるかもしれません。

関連する問題