gpt4 book ai didi

design-patterns - 当您知道只会实例化一个类的单个实例(单例类、静态类或普通旧类)时该怎么办?

转载 作者:行者123 更新时间:2023-12-01 13:01:28 25 4
gpt4 key购买 nike

有些情况下,有一个类没有内在原因是单例或静态的,但创建它的多个实例也没有多大意义。

我面对的示例是 PHP 页面中的“ header ”对象。这是一个自制类,有助于管理 CSS/JS 脚本(防止重复引用并管理一些依赖项)并在标题中呈现一堆常用标签(元内容类型、标题、脚本、链接样式表等)这是一个使用的类在所有 View 中通用,只是为了简化代码编写。

由于一个页面只有一个页眉,因此拥有多个此类实例毫无意义。另一方面,将其设为静态/单例似乎也无缘无故地为其添加了限制。

最佳答案

这一切都取决于您为谁编写代码以及总体目标是什么。如果要保证一个头类只能有一个实例,那么写成Singleton就很有必要,保证只创建一次。但是,如果你不想以这种方式限制它,那么将它写成单例就没有意义了。

您的问题会自行回答。如果您正在编写将被其他人使用的代码,并且它的功能取决于只有一个实例,那么将其编码为单例。如果您希望它保持打开状态并且在有多个实例的情况下不影响代码功能,请保持原样。如果您是为自己编写此代码,那么如何使用它取决于您。

总结一下。单例强制只创建一个实例。仅当永远不要拥有多个类实例很重要时才应使用此方法。

关于design-patterns - 当您知道只会实例化一个类的单个实例(单例类、静态类或普通旧类)时该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5720874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com