うまくいけば、相対論の簡単な質問です。私は建物内の修理されたデバイスの扱いやすさを作成するための新しい内部プロジェクトに取り組んでいます。
データベースはリモートでウェブサーバーに保存され、ウェブAPI(JSON出力)を介してアクセスされ、OAuthで保護されます。フロントエンドGUIはWPFで、ビジネスコードはC#で作成されています。
これから、プレゼンテーション/アプリケーション/データストアのさまざまなレイヤーがわかります。APIへのすべての認証済み呼び出し、エンティティ(ビジネスオブジェクト)を表すクラス、エンティティ(ビジネスオブジェクト)を構築するクラス、WPF GUIのパーツ、WPFビューモデルのパーツなどを管理するためのコードがあります。
これを単一のプロジェクトで作成するのが最適ですか、それとも個別のプロジェクトに分割するのが最適ですか?
私の心の中でそれは複数のプロジェクトであるべきだと言います。私は以前に両方の方法でそれを行っており、単一のプロジェクトソリューションを使用するとテストが簡単になることがわかりましたが、複数のプロジェクトを使用すると、再帰的な依存関係が発生する可能性があります。特に、クラスにテストを容易にするためのインターフェースがある場合、問題が発生する可能性があることがわかりました。