单身人士 - 在简单的基于PHP的CMS中使用它们

时间:2013-02-04 17:25:03

标签: php singleton

我已经阅读了很多关于单身人士的信息,大多数人都认为他们是不好的做法,并且尽可能地避免它们。大多数人都说这是因为调试使用它们的应用程序很困难。

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

  1. 配置数据
  2. 该文件在应用程序启动时加载,我认为在整个应用程序中调用配置数据时我没有理由不使用单例模式?

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

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

        所有例子的问题: A)这是非常糟糕的做法,为什么?我觉得这里没有邪恶。 B)有替代/更好的方法吗?

        谢谢!

1 个答案:

答案 0 :(得分:2)

  

这是非常糟糕的做法,为什么,因为我看到这里没有邪恶?

设计模式是建议,而不是标准。你可以使用它们,讨厌它们,称它们为“反模式”并做任何你想做的事情但这只是你的意见。四人帮和任何一位博主都在表达他们对此的看法,就像你做的那样,猜猜是什么?这并不重要。

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

我建议你在做出这个决定之前先阅读双方(支持单身并反对它)并对此做出自己的看法。但最终没有正确的答案,这只是决定的事情。

  

是否有替代(更好)的方式?

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