静态类与singleton,常见做法


static classes vs singleton, common practice?

我通常使用静态类,如:

class Manager {
  static $parameter1 = null;
  static $parameter2 = null;
  public static function return_something () {
    return 'param1 : ' . $parameter1;
  }
}

在我的参数类和函数类(如应用程序的管理器)的代码中。

到目前为止,我一直以这种方式编码,因为这对我来说似乎是合乎逻辑的,但我最近决定质疑自己,因为我知道也有类似辛格尔顿的编程实践。

无论如何,我一直参与自己的小项目,所以我很难回答这个问题:

将静态类用于参数化实体是一种好的做法吗?还是应该切换到Singleton编程?

我浏览了已提出的相关问题,但无法浏览找到我的金子。上回答了所有已询问的帖子线程安全级别。性能(内存和速度)如何

或者根据您的意见和您在大型项目中的经验,策略似乎提高了代码生产率

在我看来,这可能是编写程序的一种有趣的方式,而且它与项目有关。如果许多人参与了一个项目,那么他们应该了解或熟悉您的编码规范,否则他们会感到困惑。OOP的整体概念难道不只是一套规则,让编码变得富有挑战性和趣味性吗?

以"IF"为例

if(a == true){
}
else{
}

(a == true)?'matched':'else'

两者都是一样的,但有人建议我使用第一种场景,因为它会让其他人更好地阅读或理解编码。

+1因为做了一些不同的事情。