2009-05-09 8 views
1

ここでは、現在のレイアウトです:あなたのソリューションでは、通常、StructureMapレジストリクラスを配置しますか?

ソリューション:

  • コア

    • ドメイン
    • インタフェース
  • がDATAACCESS

    • プロバイダ
    • セッション
  • サービス

  • UI

  • ユニットテスト

  • IntegrationTests

私は、通常、非常に多くの外部依存関係がなくても、コアドメインエンティティ/ POCOを可能な限り軽く保つようにしています。そのため、通常はすべてのプロジェクトへの参照があるため、サービスレイヤに配置することは意味があります。層。

http://code.google.com/p/codecampserver/source/browse/trunk#trunk/src/DependencyResolution

思考:

私はCodeCampServerで、彼らは実際に自分のIoC構成のためDependencyResolutionと呼ばれる別のプロジェクトを作成していることに気づきましたか?

+0

http://stackoverflow.com/questions/536994/not-understanding-where-to-create-ioc-containers-in-system-architectureを見てください – xrost

答えて

1

IOCの設定はオフにする必要があります。必ずしも別のプロジェクトに入れる必要はありませんが、アプリケーションコードから離れている必要があります。私たちはCodeCampServerの別のプロジェクトにそれを置いて、「真面目に」よりリアルにしました。しかし、現在の制作アプリでは、メインプロジェクトの別の名前空間に保存しています。私たちはコンパイル時間を増やすためにプロジェクトを統合しました。

+0

Bootstrapperを置くと循環参照の問題が発生しました別のプロジェクトで私のテストプロジェクトとWebプロジェクトがIoCプロジェクトを参照している場合、それはbarfs!ここでの解決策は何ですか?現時点では、私はホストのWebプロジェクトでIoC Initを持っており、テストプロジェクトのためにもInit'edされています。 –

+0

がポイントの一部です。あなたのWebプロジェクトでiocプロジェクトを参照しないでください。 codecampserverをチェックしてください。 iocプロジェクトでは、テストプロジェクトへの参照は必要ありません。 –

関連する問題