如果我将所有函数都作为类的静态方法,这是一个好主意

is it a good idea if I put all functions as a static methods of class?

本文关键字:好主意 一个 静态方法 函数 如果      更新时间:2023-10-16

我有一些函数是实用程序函数,它们作为函数放置在命名空间内。

在 C# 方面有一些经验,我知道不可能创建这样的函数,你需要在一个类中收集所有这些函数并将它们定义为静态的。

在这里做同样的事情是个好主意吗?创建一个类并将此类的所有相关函数静态方法放在一起?有速度差异吗?

看到了那个线程,但这个答案有一个很大的错误:我正在使用具有静态方法的类,没有其他类型的方法或状态。因此,静态方法不可能使用类的内部数据。

所有现代OO语言(如C#和Java)都不允许您将方法单独放在命名空间上,因此应该有一个很好的理由。我认为原因很清楚:在OO系统中,我们有类,没有函数。

C++从 C 诞生的,因此我们可以在命名空间中创建函数,但我们不应该这样做!

完全没有速度差异。通常,C++您当前的解决方案被认为是更好的编码实践。例如,有关更多详细信息,请参阅此线程:命名空间 + 函数与类上的静态方法