加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在不可变的构造函数方法中验证构造函数参数是不是很好或者

发布时间:2020-12-16 00:22:02 所属栏目:百科 来源:网络整理
导读:您有一个不可变对象,并在构造函数中设置其内部变量,该构造函数接受几个参数. 题: 你是否看到在不可变对象的构造函数方法中对VALIDATE构造函数参数有任何问题,如果无效则抛出ArgumentExceptions? (对我来说这很有意义,但我想问一下,如果有一些更好的方法或
您有一个不可变对象,并在构造函数中设置其内部变量,该构造函数接受几个参数.

题:
你是否看到在不可变对象的构造函数方法中对VALIDATE构造函数参数有任何问题,如果无效则抛出ArgumentExceptions?

(对我来说这很有意义,但我想问一下,如果有一些更好的方法或某些东西不合适 – 例如,如果它是一个更好的设计,将验证从构造函数移动到工厂)

或者,如果我通过改写问题来概括它:

将业务规则明智的逻辑放在构造函数方法中是否可以?或者构造函数总是只做设置对象的内部结构?

谢谢

解决方法

在某种程度上,在构造函数本身中进行验证是有意义的,因为您知道它的所有用法都将通过该单点,并且任何其他将使用您的代码的开发人员都将受到保护,因为您的“低级” “验证.

如果您将验证移到调用链的更高位置,则会使类代码更加清晰,但是您会将代码暴露给“您使用错误”错误的可能性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读