PHP:单例与静态类 [重复]

Posted

技术标签:

【中文标题】PHP:单例与静态类 [重复]【英文标题】:PHP: Singleton vs Static Class [duplicate] 【发布时间】:2011-02-23 16:32:45 【问题描述】:

可能重复:Difference between static class and singleton pattern?

只是想知道单例类和静态类之间到底有什么区别?

【问题讨论】:

谢谢大家,我收到了,我必须等待 5 分钟才能接受答案。 【参考方案1】:

在单例中,您可以选择在第一次调用时初始化变量。而在您包含/调用声明静态变量的文件时,静态变量就开始存在了。

【讨论】:

如果文件是自动加载的?大概在你第一次调用它之前,静态类不存在,就像单例一样?【参考方案2】:

单例和一堆静态方法最大的区别在于单例可以实现interfaces。但是静态不会

Difference between static class and singleton pattern?

【讨论】:

【参考方案3】:

单例是一种抽象设计模式,它描述了一个只能创建一次的对象。静态类是这种设计模式的特定实现。

【讨论】:

【参考方案4】:

单例模式是与特定语言的实现无关的模式。从技术上讲,单例表示系统中只能有一个对象实例。如果是静态类,则根本没有任何对象。

【讨论】:

以上是关于PHP:单例与静态类 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Java中的单例模式和静态类有啥区别? [复制]

并发编程:单例与多线程

Swift单例与静态属性/方法

php单例模式实现数据库类

静态类是单例吗? [复制]

PHP中用Trait封装单例模式的实现