interface IDependency
{
string Baz { get; set; }
}
class Foo
{
IDependency dependency;
public Foo(IDependency dependency)
{
this.dependency = dependency;
}
public void FubarBaz()
{
dependency.Baz = "fubar";
}
}
我也可以将其实现为:
class FooStatic
{
public static void FubarBaz(IDependency dependency)
{
dependency.Baz = "fubar";
}
}
我什么时候应该选择不可变对象而不是静态方法?在任何情况下,情况可能相反吗?
另外,在我看来,不可变对象不应该有 void 方法。你怎么看?