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";
}
}
我什麼時候應該選擇在靜態方法不可變對象?有沒有什麼情況可能會出現相反的情況?
而且,在我看來是不可變對象不應該有空洞的方法。你怎麼看?
你的例子有點icky-你有一個班級,只有在生活中的目的是改變一個不同班級的實例。 OOP的一個好處就是它的類可以限制狀態的範圍。 – RossFabricant 2009-09-29 23:55:44