1

私は、実際に複雑な再帰的株式システムを持つ株式を生産するビジネスドメインをモデル化しようとしています。

  1. 在庫は、アイテムレベルで一意にラベル付けできます。
  2. 在庫は、ボックスレベルで一意にラベル付けできます(識別できないアイテムが多数含まれています)。
  3. 在庫には、パレットレベル(識別できないボックスが多数含まれている)でラベルを付けることができます。
  4. 在庫には一意のラベルを付けて、上のレベルに含めることができます。つまり、一意のボックスに一意のアイテムを入れることができます。または、ユニークなパレットに直接配置されたユニークなアイテム。

これが私が考えていたものですが、「QuantityOfUnidetifyableInners」についてはわかりませんが、エンティティを一意に識別するかどうかわからないシステムをモデル化するためのより良い方法がわかりません。 、または誰かが問題への代替アプローチを見ることができる場合。

/// <summary>
/// ValueObject
/// </summary>
public sealed class StockIdentity
{
    private readonly string _serial;

    public StockIdentity(string serial)
    {
        _serial = serial;
    }

    public string Serial { get { return _serial; } }

    //...equals contract
}

/// <summary>
/// Entity
/// </summary>
public sealed class StockItem
{
    public StockIdentity Id { get; set; }
    public int QuantityOfNonIdentifiableInners { get; set; }
    public StockItem[] Identifiable { get; set; }
}
4

1 に答える 1

1

ここにアイデアがあります: なぜこの量が必要なのですか? それはドメイン モデルでも必要ですか、それとも読み取りモデルに属するものですか?

もしそうなら、数量はすべてのアイテムがまだそこにあるかどうかを確認するために必要なものだと思いますので、次のように呼ぶと思います

 ItemCount

ドメインの専門家は、「ラベルごとに、識別できないインナーがたくさんある」などとは言わないと思いますが、おそらく「後で、すべてがそこにあることを確認するためにアイテムを数えます」のようなことです。

ドメインの専門家は、自分の言葉がソフトウェアを実装するためのベースラインとして使用されることを知っていると、自分の発言を非常に、または過度に意識する傾向があるため、より正式に話す傾向があります。

副次的な質問をするとすぐに、彼らは通常、正式な言語を気にするのをやめ、「真の」ドメイン言語を話し始めます。それは非常に微妙な方法で発生し、気づきにくい場合もありますが、通常はその部分に価値があります。

YMMV。

于 2013-05-11T07:06:11.893 に答える