2つのサービス/機能(「購入」と「レンタル」)にアクセスできるWebアプリケーションがあります。最初のステップでは、DropDownListからProductCategoryを選択する必要があります。すべての製品カテゴリを購入または賃貸することはできません。ドメインドリブンデザインルックアップテーブルを集約ルートとして使用
- A::購入/賃貸
- B:購入/賃貸
- C:購入/賃貸
- D:だけ
- Eを購入:のみレンタル
ドメインドリブンでどのように設計できますか?私のoppinionで購入/賃貸物件がProductCategoryのプロパティではありませんが、サービス自体の:
public class Service
{
public string Name; // Buy or Rent
public List<ProductType> AllowedTypes;
}
編集第2の例:
どちらのサービス(例えば、作成または終了)、いくつかの共有状態を持っていますが、特別ステータス(例えば、「Buy-Status-1」)。両方のサービスに同じステータスクラスを使用することをお勧めしますか?またはサービスごとの特別なクラスBuyStatus/RentStatus。
この関係は修正されています。しかし、将来的には、追加販売サービスのようなサービスが増える可能性があります。 – LuckyStrike
私の経験から、何かが固定されていると信じていると、私は間違っていることがほとんどです。 –