ソリューションのさまざまなレイヤーを別々のプロジェクト(DataAccess、BusinessLogic、ApplicationService、UserInterface(ASP.NET MVC)など)に抽象化し、上位レイヤーからの呼び出しを回避できないように、上位レイヤーが下位1レイヤーのみを参照するように強制した後このアーキテクチャでは、現在のプロジェクトにコンストラクターインジェクション(Unityを使用)を導入しようとしました。
結果に満足しているとは思っていなかったので、もっと良いアプローチがあることを望んでいます。
UIレイヤーのGlobal.asaxでそのように機能することに満足していません。コンテナーを構築するには、すべてのレイヤーからデータアクセスリポジトリに至るまで、すべてのプロジェクトを参照する必要があります。多層設計を簡単に回避できるようになったため、これは間違っていると感じています。
これを回避するためにどのようなアプローチを取りますか?依存性注入用に別のプロジェクトを作成し、そのプロジェクトにすべてを参照させますか?次に、UIレイヤーは依存性注入プロジェクトへの参照のみを必要としますか?
これを達成するためのより良い方法はありますか?
よろしくお願いします!