Kha*_*zor 19 .net c# language-features
花了一些时间学习函数式编程,我想要使用不执行任何变异的静态方法变得越来越自然.
有什么理由可以抑制这种本能吗?
Eri*_*ert 20
我发现这个问题有点奇怪,因为不执行突变的静态方法和方法是两种正交的方法分类.您可以使用变异静态方法和非突变实例方法.
对我来说,结合功能和oo编程变得越来越自然; 我喜欢不执行突变的实例方法.函数式编程更容易理解,因为它阻止了复杂的突变; OO编程更容易理解,因为它所操作的代码和数据非常接近.为什么选择?拥抱"和"的力量; 两个都做!
rec*_*ive 12
你可以用这种方式编写工作程序,但这不是惯用语.如果你想在团队中工作,我会尝试遏制它.如果没有其他人在阅读您的代码,请坚持下去.
出于某种原因,当我读到你的问题时,我会想到这句话:
你可以用任何语言编写Fortran.
如果C#的意图纯粹是功能性的,static那么就没有必要了,因为默认情况下一切都是静态的.如果你严格遵守OOP实践和SOLID原则,那么你的代码就会有效地发挥作用(我知道那里有关于这个问题的引用)所以你最终会得到两全其美的结果.
我在一个多用户项目中遏制它的原因是它不是典型的C#(它真的是带有手铐的C#).你只需要一个人来破坏规则并声明一个静态的可变属性,一切都会变成地狱.