Kan*_*ane 7 c# static state
我最近向一位同事提出建议,指出我们当前的项目(C#)"服务应该是无状态的,因此是静态的".
我的同事同意并表示,在我们的项目中,服务是(并且应该)确实是无国籍的.然而,我的同事不同意静态意味着没有状态,无状态应该意味着静态.
我的问题是"标记为静态的方法是否意味着它不需要任何状态,并且在大多数情况下,无状态方法应该是静态的".
Rex*_*x M 7
静态几乎意味着全球.还有一个实例,在该实例中仍然存在状态,但它是静态实例,这意味着只有一个,所有调用者总是引用那个.
And*_*ena 5
标记为静态的方法是否意味着它不需要任何状态
1)否.您不能说静态方法意味着它不需要状态,因为静态方法可以访问静态/单例资源.
大多数情况下,无状态方法应该是静态的
2)是的.因此,不需要状态的方法通常不需要实例,通常应该是静态的.
归档时间:
16 年,11 月 前
查看次数:
1495 次
最近记录: