如果Singletons不好,那么如何为框架存储全局状态

时间:2013-08-09 21:37:24

标签: java oop design-patterns singleton

如果单身人士被认为对全局状态不利,特别是可能影响代码主要执行的状态,那么应该如何处理全局状态呢?

想到的直接事情是:

  • Base Url
  • 基本文件路径
  • 一般配置
  • 记录实例

我无法看到除单身之外的任何其他方式来访问这些内容,例如App()类或类似内容?

1 个答案:

答案 0 :(得分:5)

将此数据加载到已为您的应用程序全局的位置。例如,在Web应用程序中,您可以使用ServletContext将此数据存储在应用程序范围内,即ServletContextListener

此外,您可以使用已经按照Spring等特定上下文处理全局状态的框架。

顺便说一下,像 Logging instances (即Logger logger)这样的情况并没有存储在单例实例中,而是存储在每个类中,标记为static final。< / p>

有关Singleton模式使用的长期永不讨论的更多信息: