Singleton PHP - 数据库处理程序
我最近一直在阅读关于单身人士模式的内容。在阅读其技术方面时,它似乎非常适合管理数据库处理程序等。但在阅读更广泛的资源之后,似乎开发者社区真的不喜欢这种模式。
我正在努力为这样的问题找到更好的解决方案 - 即一次只能初始化一个处理程序 - 那么为什么模式如此糟糕?是否过度使用或是否只是根本上有缺陷?
Php是我正在使用的语言。
没有找到相关结果
已邀请:
5 个回复
泻伴墓荒
(返回Singleton单个实例的方法的规范名称)时,单例很有用。直到那时,该对象不需要存在。如果对象是全局变量,则它必须已经存在,或者尝试引用该对象的代码首先需要实例化它。事实上,在任何可以使用的地方,都需要正确实例化。通过集中在
中创建单个对象,您可以避免每次需要引用对象时都创建复制粘贴样板。 数据库对象通常在请求生命周期的早期创建,因此将浪费Singleton-ness的特定优势。 Singleton还有其他替代品,可以通过其他方式完成工作。一个例子是依赖注入,这是一个花哨的术语,用于在构造时将新对象所依赖的外部对象(例如数据库句柄)传递给对象。然而,这可能是复杂或烦人的。做得对可能涉及每次注入大量相同的对象。 另一个替代方案是注册表模式,它实际上是一个容器,否则将成为全局变量。如果您不喜欢全局变量,但不介意它们被有效地命名空间,那么这将是您想要的解决方案。 最后,选择一种方法来完成它,并在整个代码库中坚持使用这种方式。就个人而言,我是数据库对象的全球粉丝。
量华
姬第柔炒
骂陋冠
布埃郝卞簿