2009-12-02 14 views
24

私はUnity IoCコンテナを使用しています。それは本当に私が作った決断ではなく、ちょうどプリズムが付属していました。他のIoCフレームワークを使ったことは一度もありませんでした。私はUnityにはとても満足していることを認めなければなりません。しかし、他のフレームワークが提供しなければならないものが本当にわからないので、満足は無知から来るかもしれません。なぜUnityを使用しないでください。

Unity IoCコンテナを使用しないでください。 「Castle、nInjectまたはStructure Mapを代わりに使用する」と人々は言っていますが、なぜ別のフレームワークを使用すべきかについての具体的な議論や例はまだ聞いていません。だから、なぜ私はUnityを使用すべきではありませんか?あるいは私はすべきでしょうか?

+3

このstackoverflow質問(http://stackoverflow.com/questions/411660/enterprise-library-unity-vs-other-ioc-containers)の受け入れられた答えは、実際に詳細なブログ記事(ここでは、http:// elegantcode.com/2009/01/07/ioc-libraries-compared/)をご覧ください。 –

+0

確かに非常に便利です!私は何とかこの問題を見落としてしまった。ありがとう! – stiank81

答えて

14

これらの容器は、約の味である傾向があります。 Ninjectはそれを設定するうえで流暢なインターフェースを持っていますが、configを使って設定できるUnityの能力(コードではmasochistsと思います)のような人もいます。

私は、あなたと同じように、プリズムを採用するときに質問があったので、UnityをNinjectとAutofacの両方に置き換えてみました。私はUnityのどちらかに固執するパフォーマンスや機能に関して魅力的な理由は見つけられませんでした。両方でうまくいくものがいくつかありますが、それらはすべて基本的に同じことを行い、うまくいったのです。

私は、それぞれの機能、スタイル、構文を見て、あなたが一番好きなものを決めます。それは本当に唯一の違いです...どうすればと感じます。一般的にいくつかのコア機能の違いがありますが、これらを必要とする可能性はかなり低いです。

あなたの決定についての最新情報を投稿してください...私はいつも人々の現実世界の知見と、情熱的なユーザーが主張しているものに興味があります。

+4

いくつかの調査を行ったことがありますが、今はUnityを使用しないという良い理由はありませんでした。結論は "それが壊れていなければ - それを修正しないでください" - 私はUnityと一緒にいます。危機が発生した場合は、後でこれを変更することができます。変更が必要な場合は、StructureMapを使用します。お返事をありがとうございます! – stiank81

12

Unityを使用する理由の1つは、中信頼環境で作業する必要がある場合です。私が見つけたことから、あなたのコードが完全に信頼できない場合、Unityは実行しやすくなります。私はいくつかのIoCコンテナを使用しており、中程度の信頼が必要な場合はUnityを使用します。

+2

+1 - ヘッドアップのおかげで! –

+0

Unityの部分信頼のように見えます。 http://msdn.microsoft.com/en-us/library/dd203232.aspx –

関連する問題