如果您知道数字不能为负数,那么在 DDD 模型中哪种设计更好?
public record Quantity(uint Number);
public record Quantity()
{
public int number { get; init; }
public Quantity(int number)
{
if (number < 0) throw new ArgumentOutOfRangeException("Quantity must be positive");
}
}
如果您知道数字不能为负数,那么在 DDD 模型中哪种设计更好?
我想不出我见过的任何 DDD 示例使用无符号类型作为通用数据结构。
无符号类型的一般规则是,您使用默认值来使用有符号类型,并且仅在适合手头的特定任务时才使用无符号类型。
不要仅仅使用无符号类型来断言变量是非负的。
不要试图通过使用无符号来避免负值
Stroustrup、Sutter 和 Carruth 在 2013 年意见一致
同意以上的网上讨论