【发布时间】:2012-02-05 07:13:47
【问题描述】:
我总是根据最佳实践写作,但我也想了解为什么给定事物是最佳实践。
我在一篇文章中读到过(遗憾的是我不记得了)单例类更喜欢被实例化,而不是使用静态函数创建并使用范围解析运算符 (::) 访问。因此,如果我有一个包含我所有要验证的工具的类,简而言之:
class validate {
private function __construct(){}
public static function email($input){
return true;
}
}
有人告诉我这被认为是不好的做法(或至少被警告过),因为诸如垃圾收集器和维护之类的事情。因此,对“作为静态方法的单例类”的批评想要的是,我实例化了一个我 100% 确定我只会实例化一次的类。对我来说,这似乎是在做“双重工作”,因为一切都准备好了。我错过了什么?
对此事有何看法?当然,这不是生死攸关的问题,但如果有选择,不妨以正确的方式做一件事:)
【问题讨论】:
标签: php oop class design-patterns singleton