gpt4 book ai didi

c# - 在类中包装一个简单类型有什么好处?

转载 作者:IT王子 更新时间:2023-10-29 04:47:44 27 4
gpt4 key购买 nike

我正在查看本质上传递 id 的代码,例如:

GetPersonById(int personId)

但它没有使用 int,而是使用了 PersonId 对象。

GetPersonById(PersonId personId)

PersonId 对象只是一个带有一些手动代码以使其可为空的 int。那么,这是在可空整数不可用时在旧 .NET 中创建的,还是在类中包装简单类型有更高的目的?

public sealed class PersonId {

private PersonId() {
_isNull = true;
_value = 0;
}


private PersonId(int value) {
_isNull = false;
_value = value;
}

// and so on!
}

最佳答案

DDD像这样的代码用于使此 ID 引用的类型更加明确。

特别是在设计良好的聚合的上下文中,对其他聚合的引用通常是通过 ID,而不是通过对象引用。在这种情况下,这些 ID 值对象可用于避免意外混合这些 ID,并且 - 如前所述 - 使引用的聚合更明确。

关于c# - 在类中包装一个简单类型有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12250355/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com