私の質問は、インターフェイスの使用についてではなく、プロジェクト組織の性質の詳細です。インターフェイスは実装とは別のプロジェクトにする必要がありますか?
注:私は、VisualStudioを多層アプリケーションで使用しています。
私のインターフェイスファイルは、実装とは別のプロジェクトに存在する必要がありますか?私の最初の考えは、私のサービスインターフェイスを自分のプロジェクト(私の最初の実装のためのプロジェクト)に分けて、実装/コンクリートプロジェクトを削除して新しいものに置き換えることができるようにすることです必要。
例を明確にする:MyApp.Business.Services名前空間に存在するIBusinessServiceというビジネスレイヤーインターフェイスがあるとします。私の実装であるFooBusinessServiceは同じ名前空間に存在しますが、VisualStudioでは異なるプロジェクトになります。後で実装を修正する必要がある場合、開発者はFooService.projへの参照を削除し、BarService.projへの参照で置き換えることができます。
具体的な実装(古くなっているかもしれないし、あなたに役に立たないかもしれない)を取らずに、インターフェースだけを使ってプロジェクトを参照できるようにすることで、アプリの解決策を見逃すようですが、何か不足していますか?
[私はインターフェイスのための別のアセンブリが必要ですか?](http://stackoverflow.com/questions/3363312/should-i-have-a-separate-assembly-for-interfaces) – nawfal