0

我读过很多关于单例的文章,大多数人都认为它们是不好的做法,并且要尽可能避免它们。大多数人这样说是因为很难调试使用它们的应用程序。

现在,创建一个简单的 CMS,我尝试了一些方法,在我看来它们是最好的选择。

  1. 配置数据

该文件在应用程序启动时加载,我看不出在整个应用程序中调用配置数据时为什么不使用单例模式?

  1. 请求数据

请求数据应该存储来自 php 服务器变量(POST、GET、COOKIE)的所有信息,因此它可以用于在整个应用程序中使用单例读取和写入(例如cookies)数据。

  1. 响应缓冲区

我想使用响应类(作为单例)来保存我的模板呈现的所有数据。因此应用程序可以加载所有视图,一一渲染它们并将回显的数据存储在响应类中,最后输出存储在响应中的整个文档。

所有示例的问题:A)这真的是不好的做法,为什么?我在这里看不到邪恶。B)有替代/更好的方法吗?

谢谢!

4

1 回答 1

2

这真的是不好的做法吗?为什么,因为我在这里没有看到邪恶?

设计模式是建议,而不是标准。您可以使用它们,讨厌它们,称它们为“反模式”并做任何您想做的事情,但这只是您的意见。四人团伙和那里的任何博主都像你一样表达他们对它的看法,你猜怎么着?没关系。

与其问自己是否有人认为这是一种不好的做法,不如问问自己:“我认为这是一种不好的做法吗?”。如果答案是否定的,那就去吧。

我建议您在做出此决定之前阅读双方(支持单身人士和反对单身人士)并对此发表自己的看法。但最终没有正确的答案,这只是决定的问题。

有替代(更好)的方式吗?

一般来说,我倾向于使用依赖注入而不是单例。但是,如果我无法使用 DI 并且 Singleton 对我来说是一个选择,那么我肯定会选择它。我的建议是学习最重要的模式,并在特定的上下文中使用对你有意义的任何东西。

于 2013-02-04T17:31:16.567 回答