我读过很多关于单身人士的文章,大多数人都认为他们是不好的做法,为了避免他们,尽一切可能。大多数人这样说是因为很难调试使用它们的应用程序。
现在,创建一个简单的CMS,我尝试了几种方法,在我看来它们是最好的选择。
- 配置数据
该文件是在应用程序启动时加载的,我看不出为什么在整个应用程序中调用配置数据时不使用singleton模式?
- 请求数据
请求数据应该存储来自php服务器变量(POST、GET、COOKIE)的所有信息,以便在整个应用程序中使用singleton读取和写入(例如COOKIE)数据。
- 响应缓冲区
我想使用响应类(作为singleton),它将保存由我的模板呈现的所有数据。因此,应用程序可以加载所有视图,逐个呈现它们,并将响应的数据存储在响应类中,最后输出存储在响应中的整个文档。
所有示例的问题:A) 这真的是不好的做法吗?为什么?我看不出这里有什么邪恶。B) 有其他更好的方法吗?
谢谢!
这真的是不好的做法吗?为什么,因为我在这里看不到邪恶?
设计模式是建议,而不是标准。你可以使用它们,讨厌它们,称它们为"反模式",做任何你想做的事,但这只是你的意见。四人帮和任何一个博主都会像你一样表达他们的观点,你猜怎么着?这其实并不重要。
与其问自己是否有人认为这是一种糟糕的做法,不如问问自己:"我认为这是糟糕的做法吗?"。如果答案是否定的,那就去做吧。
我建议你在做出这个决定之前,先阅读双方(支持单身和反对单身),并对此发表自己的看法。但最终没有正确的答案,这只是你决定的问题。
有其他(更好的)方法吗?
一般来说,在可能的情况下,我倾向于使用依赖注入而不是Singleton。但如果我没有办法使用DI,而辛格尔顿是我的一个选择,那么我肯定会选择它。我的建议是学习最重要的模式,并在特定的背景下使用对你有意义的东西。