最近、私が扱っているさまざまなクラス/オブジェクトをすべて整理するのに苦労しているようです。私の場合、異なるコア製品を 3 つ持つ会社で働いていますが、いくつかのコア機能は共有しています。そのため、クラスも共有します。さらに混乱させるために、ASP.NET MVC アプリを作成しています。このアプリには、クラス (モデル フォルダー) の暗黙的な場所があります。
というわけで、これが私たちが現在行っている方法です。製品を と呼ぶことにしますNewProduct
。 xxx
は会社名です:
xxx.Core
- すべての製品で使用されるクラス。これらは、ヘルパー関数、ロジックを持つ実際のクラスなどです。xxx.NewProduct.Web
- NewProduct の MVC Web アプリ。モデル フォルダが空です。xxx.NewProduct.WindowsService
- Windows サービス - NewProduct の一部。xxx.NewProduct.Models
- 基本的に、これは MVC Web アプリの Models フォルダーを置き換えます。これらは独自のプロジェクトにあるため、DomainLogicはそれらを埋めて MVC アプリに戻すことができます。xxx.NewProduct.Objects
- WebとWindowsServiceの間で共有されるロジック (モデルのようなスケルトンだけでなく) を持つクラス。xxx.NewProduct.DataAccess
- これは DAL ですが、ここでの私の質問にとってそれほど重要ではありません。xxx.NewProduct.DomainLogic
- これはビジネス ロジック層です (DAL への呼び出しを行います)。また、将来、他のアプリ (モバイル、デスクトップなど) を作成する場合は、これらも再利用できます。
私の主な問題は、オブジェクトをどこに置くかを決めようとしているときに、どこに置くべきかわからない場合があることです。これは正常ですか?他の人はこの問題を抱えていますか?助言がありますか?