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 回答