私は Java 開発者で、Guice を多用しています。C# を学びたいと思っていますが、驚いたことに、Guice に相当するものを見つけられませんでした。Ninject、Unity、StructureMap などのツールを見つけたばかりですが、Guice のようなツールをもっと探しています。すべての登録を手動で書き留めたくありません...では、最適なオプションは何ですか?
3 に答える
私が一番好きなのはNinjectです。規則に基づいてコンポーネントを自動登録するためのプラグインがあります。
私は実際にコンポーネントを自動登録するためのオープンソースライブラリを書いています。.NETにある現在のIoCコンテナのほとんどをサポートするように設計されています。これは、興味がある場合のリンクです:https ://github.com/jupaol/NAutoRegister (開発者ブランチを確認してください)。
AutoFacを使用すると、コンポーネントを簡単に登録することもできます。
私はGuiceをチェックアウトしました、そしてそれは単に素晴らしいです。他の多くのJavaツールと同様に、Guiceを.Netに移植することをお勧めします。
私は Guice を使用したことがないので、コンポーネントの自動登録について話しているのであれば、多くの IOC コンテナは何らかのアセンブリ スキャンを提供しています。
AutoFacのドキュメントを見ると、コンポーネントの登録が非常に簡単であることがわかります。
var dataAccess = Assembly.GetExecutingAssembly();
builder.RegisterAssemblyTypes(dataAccess)
.Where(t => t.Name.EndsWith("Repository"))
.AsImplementedInterfaces();
私は、お気に入りの機能をいくつか備えた C# 用の Guice ポートを作成しました。かなり小さなコード ベースですが、Unity3D を介して 5000 万台以上のデバイスで使用されており、ディズニーが現在も使用していることがわかったので、おそらくそれ以上です。