目前我对游戏框架很感兴趣,因为这个框架可以促进更快的开发.
当我看到代码时,有很多静态代码.甚至控制器声明为静态功能.因此,调用内部静态函数的所有代码必须是静态的吗?
我的问题是,这种做法是对的吗?使用许多静态功能有任何副作用吗?
关于面向对象语言中的静态
方法的一些事情:如果您选择使用所有静态
方法,让我尝试解释问题.
在面向对象的语言中使用所有静态函数可能不是惯用的.
您不能覆盖子类中的静态函数.因此,您无法通过覆盖来执行运行时多态性.
您定义的变量都会自动成为类变量(因为您的所有方法都是静态的),所以基本上您没有与该实例关联的任何状态.
静态方法难以模拟.您可能需要像PowerMock这样的框架来为您进行模拟.因此测试变得困难.
设计变得有点复杂,因为您将无法创建不可变类,因为您实际上只有类而没有实例.因此,设计线程安全类变得困难.