1

NHibernateを使用するために大量のレガシーコードを変換し終えたところです。次にやりたいのは、データアクセス層のリポジトリなどを接続するためのIOCコンテナを紹介することです。現在、Castle Windsor、StructureMap、NInject、Unityなどのさまざまなオプションがあります。選択は難しいです。

NHibernateがすでにCastleWindsorを使用しているという事実が、私の決定に影響を与えるようにする必要がありますか?

いくつかの潜在的な利点を想像することができます-たとえば、メモリ使用量の削減。ただし、選択したときにIOCコンテナーをアップグレードできるのではなく、NHibernateがコンパイルされているCastleのバージョンに固執する必要があるなどの欠点がある場合があります。

考え?

4

2 に答える 2

2

NHibernateはIOCコンテナを使用しません。Castle.DyanmicProxyプロジェクトを使用して、遅延読み込みを容易にするプロキシオブジェクトを作成します(ただし、必要に応じて、これをLinFuまたは独自のプロキシファクトリに置き換えることができます)。

自分、チーム、および要件に最も適していると思われるIOCコンテナを使用できます。

Castle Windsorを支持する1つのポイントは、セッションとトランザクションの管理を処理するNHibernate施設がすでに存在することです。

于 2009-11-05T00:11:56.230 に答える
0

NhibernateでCastleIOCを使用しないでください。SessionFactoryのセッションとIOCの実現自体にマルチスレッドの問題があります。この隠れたアーキテクチャの問題のため、大規模なプロジェクトに失敗しました。SpringIOCまたは他のIOCを使用します。城は軽くてシンプルですが、役に立たないです。

于 2013-01-22T15:06:08.803 に答える