ソリューション内のインターフェイスサブプロジェクトの命名規則はどうなるのだろうかと思っていました。インターフェイスファイルが「I」で始まることは知っていますが、これはプロジェクトにも当てはまりますか?
インターフェイスを実装するプロジェクト内にインターフェイスファイルを作成するのではなく、ソリューションを整理するために、インターフェイスを別のプロジェクトに分割しました。
すべてのファイルとプロジェクトが1つのソリューションに含まれています。
よく読めない場合はお詫び申し上げます。
これは、多くのプロジェクトでソリューションを編成するための一般的なパターンです。ただし、(場合によっては)それだけの価値があるかどうかについては議論があります。
いくつかの異なる命名規則が使用されているのを見てきました。
これはMSがそれを使用する方法です<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]
たとえば、Microsoft.WindowsMobile.DirectX.
リンクhttp://msdn.microsoft.com/en-us/library/ms229026.aspxを参照してください。
私はdtryonがその答えに書いた命名規則に同意します。
ただし、ソリューションの設計を過度に設計しないでください。複数のプロジェクトからインターフェイスを参照する必要がない場合は、インターフェイスを独自のプロジェクトに分離することは有用ではないと思います。複雑さが増しますが、メリットはほとんどありません。
インターフェイスファイル自体についても同じことが言えます。インターフェイスタイプ(実際にインターフェイスを実装するオブジェクトのタイプではない)を使用してオブジェクトインスタンスを参照する予定がない場合、インターフェイスはあまり役に立ちません。
私は通常、次のパターンに従います...
それは通常私が作るのと同じくらい簡単です...物事がもっと複雑な場合、私はサービスプロジェクトやビジネスルールプロジェクトまたはそのような性質のものを持っているかもしれません...私がインターフェースプロジェクトを使用する理由は私がクライアントアプリケーションが欲しいからですバックエンドの実装を完全に知らないこと。そうすれば、実装を変更する必要がある場合でも、インターフェイスを変更しない限り、クライアントは影響を受けません(変更する必要はありません)...そして、これは実際に起こります...以前にDBMSを変更したことがあります。 DBMSからAPIなどに変更されました...最初にアプリを構築するとき、抽象化の余分なレイヤーは、必要になるまでやり過ぎのように見えることがあります。