考虑以下代码:
partial class OurBusinessObject {
partial void OnOurPropertyChanged() {
if(ValidateOurProperty(this.OurProperty) == false) {
this.OurProperty = OurBusinessObject.Default.OurProperty;
}
}
}
也就是说,当值OurProperty
in OurBusinessObject
更改后,如果该值无效,请将其设置为默认值。这种模式让我觉得代码有味道,但这里的其他人(我的雇主)不同意。你怎么看?
编辑添加:我被要求添加一个解释,解释为什么这被认为是可以的。这个想法是,业务对象可以验证其自己的属性,并在验证失败时设置干净的默认值,而不是让业务对象的生产者验证数据。此外,人们认为,如果验证规则发生变化,业务对象生产者不必更改其逻辑,因为业务对象将负责验证和清理数据。
这绝对是可怕的。祝您尝试调试生产中的问题好运。它唯一可能导致的就是掩盖错误,这些错误只会在其他地方突然出现,而它们的来源根本不明显。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)