首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中,可以说一个实用程序类就是一个好的单例类吗?

在PHP中,可以说一个实用程序类就是一个好的单例类吗?
EN

Stack Overflow用户
提问于 2016-10-21 13:30:49
回答 1查看 108关注 0票数 0

我在决定何时创建单例类时遇到了麻烦,我有一个用于数据库的类。

我想创建一个类,将负责创建图像链接。我给它的网址,图片,标题,另类标签,大小,等等。它返回图像链接。

为此创建一个类有意义吗?如果是这样的话,这会是单例类的一个例子吗?

EN

回答 1

Stack Overflow用户

发布于 2016-10-21 13:47:57

好的,我会在人们拿出干草叉之前赶到的。

一般来说,从软件设计的角度来看,单例很少是正确的选择。然而,有几次确实需要一个。下面是我使用单例的标准:

  • 多次实例化该类将对应用程序有害。这方面的一个例子可能是需要维护到远程资源的持久连接的类。因此,如果你创建一个类的新实例,你可能会产生大量的连接,这可能是有害的。在这种情况下,我能够实现对该功能的无锁访问。所以这是少数情况下,单例是最好的选择。

  • ,你有一些共享的状态,你想封装在一个类中。然而,对于单例来说,唯一合适的情况是如果这个共享状态是只读的。例如,共享配置数据通常是通过单例来完成的。

这些只是我需要使用Singleton的情况。如果你养成了过度使用它们的习惯,你很容易就会陷入困境。

对于上面的例子来说,这并不是一个很好的例子。您可以轻松地拥有一个公开帮助器方法的HtmlUtil类。当您需要访问该功能时,可以实例化这个类,使用它,然后丢弃它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40169069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档