このような一般的な質問をしたことをお詫びしますが、それは私にとってやりがいのあることです。私のチームは、何年にもわたって進化してきたランダムな1回限りのコードベースをすべてまとめる大規模なプロジェクトに着手しようとしています。このプロジェクトは、会社全体の論理エンティティ(「顧客」、「従業員」)、小さなタスク、小さなタスクを制御する大きなタスク、およびユーティリティサービスを対象としているため、構造化するための最良の方法を見つけるのに苦労しています。名前空間とコード構造。
先に進むのに十分な詳細を提供していないと思いますが、ドメインを論理的に分割する方法についてのリソースやアドバイスはありますか?役立つ場合は、この機能のほとんどがWebサービスを介して公開されます。私たちは、最新のギズモとガジェットをすべて備えたMicrosoftショップです。
- 参照を簡単にするためにサブプロジェクトを使用した1つの大規模なソリューションについて議論していますが、それでは扱いにくくなりますか?
- レガシーアプリケーションの機能をまとめる必要がありますか、それとも名前空間に完全に依存しないままにする必要がありますか(たとえば、
OurCRMProduct.Customer
クラスとジェネリッククラスの作成)?Customer
- 各サービス/プロジェクトには独自の
BAL
とDAL
が必要ですか、それともすべてが参照する完全に別個のアセンブリである必要がありますか?
私はそのような広範囲にわたるプロジェクトを組織した経験がなく、1回限りのことなので、私が得ることができるガイダンスを探しています。