問題:
asp.net mvc アプリの場合、ドメイン フォルダーを無視し、ドメイン モデルを別のライブラリ プロジェクトに記述します。
このようなライブラリ プロジェクトを使用する Visual Studio は、フォルダーごとに名前空間を作成します。たとえば、私のライブラリ プロジェクトが呼び出された場合:
ES.eLearning.ドメイン
Services というフォルダーがあり、Services フォルダー内のすべてのクラスの名前空間が次のように自動化されます。
ES.eLearning.Domain.Services
それはすべてうまくいっていますが、やり過ぎだと思います。私のプロジェクトは比較的単純なので、クラス名が衝突する可能性はありません。あったとしても、コンパイラはそれを拾います。
したがって、名前空間名をプロジェクト名に手動で編集するだけです。
ES.eLearning.ドメイン
そうすれば、フロント エンドを開発するとき、ドメイン モデル プロジェクトは、ドメイン モデルを提供するブラック ボックスにすぎません。また、名前空間を 1 つの機能ブロックとして扱うのではなく、名前空間の名前をプロジェクトのフォルダー構造に結合する意味がわかりません。
したがって、次の 2 つの疑問が生じます。
これは悪い習慣ですか?もしそうなら、なぜですか?覚えておいてください: これらは小規模から中規模のプロジェクトです。
名前空間に名前を付ける方法を VS 2010 に伝える方法はありますか?
ありがとう
注: プロジェクトの命名では、ES はクライアント、eLearning はアプリ、ドメインはコンポーネントです。
PS:SOで見つけた名前空間の命名規則に関する他の質問は、さまざまな問題に対処しています。したがって、私が判断できる限り、重複していません。