【发布时间】:2012-12-19 10:03:56
【问题描述】:
你有一个不可变的对象,你在构造函数中设置它的内部变量,它接受几个参数。
问题:
您是否发现在不可变对象的构造函数方法中验证构造函数参数有任何问题,如果无效则抛出ArgumentExceptions?
(对我来说这是有道理的,但我想问一下是否有更好的方法或对此不满意 - 例如,将验证从构造函数转移到工厂是否是一个更好的设计)
或者如果我通过改写问题来概括它:
可以将业务规则逻辑放在构造函数方法中吗?或者构造函数应该只做设置对象的内部结构吗?
谢谢
【问题讨论】:
-
术语的小点...默认构造函数是在没有用户提供的构造函数的情况下由编译器自动生成的,并且是无参数的。
-
谢谢,我已经删除了'default' :)
标签: c# .net validation immutability