3

私はDDDに非常に慣れていません。私の SQL テーブルにはスタイルのリストが含まれており、すべてのスタイルに色とサイズがあります。現在、私はアプリケーションに取り組んでおり、ユーザーにはスタイル用、色用、サイズ用の 3 つのドロップダウンリストが表示されます。これで、最初にこれらのドロップダウン リストに個別の値が読み込まれます。ユーザーがスタイルを選択すると、システムはその選択したスタイルのすべての色/サイズを見つけることができます。ユーザーは色で同じことを行うことができ、選択した色とサイズに一致するスタイルが読み込まれます。あなたはアイデアを得る。

これらは私の基本的な要件です。スタイルのリポジトリ (StyleRepository) を作成し、すべてのスタイルをロードし、必要に応じて子の色と子のサイズをロードすることを考えていました。

ただし、私のアプリで説明されているように、個別の色またはサイズも読み込む必要があります。StyleRepository、ColorRepository、SizeRepository の代わりに 3 つのリポジトリを作成することをお勧めしますか、それともまったく別のリポジトリを作成しますか?

言ったように、私はこれにかなり慣れていないので、あなたの提案をいただければ幸いです。

ありがとうございました

4

2 に答える 2

3

スタイルはルート集約オブジェクトのようです。それがあなたがあなたのリポジトリを構築するものです。

各スタイルには、そのスタイルで許可されている色とサイズの特定のサブセットがあるため、各スタイルには、色とスタイルのリストが含まれている必要があります。

public class Style
{
   public IList<Color> Colors { get; set;}
   public IList<Size> Sizes { get; set;}
}

次に、リポジトリには、すべてのスタイルを返すためのFindAll()メソッドがあります。各スタイルには独自の色とサイズのリストがあるため、それらを取得するためにリポジトリに再度アクセスする必要はありません。ユーザーがドロップダウンから特定のスタイルを選択すると(できればStyleオブジェクトをバインドしている)、選択したオブジェクトから色とサイズのリストを取得して、他のドロップダウンにデータを入力できます。

ユーザーが特定のStyle、Color、およびSizeを選択すると、SelectedStyleクラスのように、1つのColorおよびSizeプロパティのみを含む別のクラスに保存されると想定します。

public class SelectedStyle
{
   public Color Color { get; set;}
   public Size Size { get; set;}
}
于 2009-03-25T17:57:44.353 に答える
0

あなたの場合の色は、抽象的な色リスト(ペイントアプリケーションのように)だけでなく、スタイルで使用される実際の色であるため、StyleRepositoryとGetAllUsedColors()のような追加メソッドを使用します。

于 2009-03-25T17:23:04.517 に答える