如果一个类有一个构造函数,它将一些值对象作为参数并依赖于它来进行初始化.如果此对象为null,它应该如何反应?
class SomeClass
{
private SomeData _data;
public SomeClass(SomeValueObject obj)
{
_data = obj.Data;
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个例子,但总的来说:如果构造函数被赋予无效参数,那么它应该如何操作,因此无法正确构造?它应该只是返回而不进行任何初始化?将参数设置为某些默认值?抛出异常?别的什么?
我相信这个问题的答案是"它取决于",但有没有最佳实践等?
Ell*_*iot 15
程序员应该能够假设成功创建了一个对象,除非引发异常.异常的类型取决于参数,但仍应取消选中.你想要的最后一件事是构造函数无法构建一个有效的对象,也没有告诉调用者它.
我认为在构造函数中使用默认值是一种危险的习惯.
很大程度上取决于您的业务逻辑.如果您的业务逻辑需要SomeValueObject不为null,那么在SomeClass没有实例化的情况下SomeValueObject,构造函数肯定应该抛出异常IllegalArgumentException.
| 归档时间: |
|
| 查看次数: |
2811 次 |
| 最近记录: |