UIレイヤーと別に保つための優雅な方法を見つけるのに苦労しています。Injectionを使用しています。Frameworkコードがあります。});これは、基本的に私のUIレイヤーであるDALを参照しなければならないことを意味しています。これは何年も前から、さまざまな専門家やブログの投稿に基づいて悪い練習を続けてきました。私はこの問題を回避働いている一つの方法は、2つの新しいプロジェクトを作成することで、1は、持っている、ConfigurationクラスでもDALとユーティリティプロジェクトにアクセスする私のビジネスクラスを生成するファクトリクラスが含まれているCompositeRootプロジェクトでConnectionStringプロパティをどのI私のコンテキストに渡すことができます、私はすべてのワイヤーと私のUI層で私のDALの参照を避けるために内蔵のDIを使用します。7)の最新バージョンに関する問題が発生しました。これまでのすべての文書は、このような懸念が混在しているかどうかは気にしていないようです。Merge人気のある回答あなたが橋を建設するために10人の土木建築家に依頼すれば、あなたは10の異なるアーキテクチャを持つことになります。誰も同じではなく、他の人よりも良い人はいません。彼らが適用するベストプラクティスとデザインパターンの数にかかわらず、各アーキテクトは彼らの考えを正当化するでしょう。他の人はそれを単純に保ち、仕事を完了させる一方で、過度のものになるだろう。あなたが決める建築の種類に直接的な影響を与えます。同じルールがソフトウェアアーキテクトに適用されます。UIレイヤーがDALに依存していることを認識するために、世界で最高の意図を持っている私の建築家の分かりました。彼らはそれを考えなかった彼らは本当に気にしないそれはDIを容易にします。各レイヤーを見ればインタフェースを実装に簡単にマッピングできるからです。Service依存していました。この層は私がDIのものを構成する場所です。Packageを使用していました。5と似た何かを達成することができますデカップリングされたアプローチや、オニオンアーキテクチャのサンプルのようなものを使って、エンタープライズレベルのサンプルに合わせた作業用のプロジェクトテンプレートをMicrosoft(または他の人)が作成することが大好きです。結局、私が合理的な分離アーキテクチャのように考えるものは、あまりにも多すぎるかもしれませんが、他のものには十分ではありません...あなたの調査結果を分かち合って、自分がどのように機能しているかを知ることができれば、どうぞお気軽にご連絡ください。