我的老板坚持以下规则:传递给构造函数的所有变量都应该通过只读属性获得。
我看不出这是正确的真正原因,因为班级应该做它应该做的事情,而不是向其他人提供他们的结构。我知道有时它很有用,但这不是一般规则。
我的想法正确吗?我错过了什么吗?任何人都可以添加更多论点或反对吗?
规则示例:
public class MyClass
{
public MyClass(ISomeProvider someProvider)
{
SomeProvider = someProvider;
}
public ISomeProvider SomeProvider { get; private set; }
public void DoSomeWork()
{
...
}
}
谢谢你。