什么时候使用特定于域的对象与普通字符串或数字的通用准则或经验法则是什么?
例子:
- 年龄层vs整数?
- FirstName类与String?
- 唯一ID与字符串
- PhoneNumber类vs字符串vs长?
- 域名类与字符串?
我认为大多数OOP从业人员肯定会说PhoneNumber和DomainName的特定类。有关使它们变得有效以及如何进行比较的更多规则,使简单的类更易于处理和更安全。但是对于前三个,还有更多的争论。
我从来没有遇到过“年龄”类,但是有人认为它必须是非负数是有道理的(好吧,我知道您可以为负数年龄辩护,但这是一个很好的例子,它几乎等同于原始整数)。
字符串通常代表“名字”,但并不是完美的,因为空字符串是有效字符串,但不是有效名称。比较通常会忽略大小写。当然,有一些方法可以检查是否为空,不区分大小写,等等,但这需要使用者执行此操作。
答案是否取决于环境?我主要关心的是企业/高价值软件,该软件可以生存和维护超过十年。
也许我想得太多了,但是我真的很想知道是否有人对何时选择类还是原始有规则。
people may be one or two years older in Asian reckoning than in the western age system
Age
当您需要此类提供的其他行为时,可以使用类而不是整数。