0

如果单例被认为对全局状态不利,尤其是会影响代码主要执行的状态,那么应该如何处理 Web 框架的全局状态?

立即想到的事情是:

  • 基本网址
  • 基本文件路径
  • 一般配置
  • 记录实例
  • ETC

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

4

1 回答 1

5

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

此外,您可以使用已经处理每个特定上下文(如 Spring)的全局状态的框架。

顺便说一句,像Logging 实例(即Logger logger)这样的情况并不存储在单例实例中,而是在每个类中,标记为static final

有关单例模式使用的长期无休止讨论的更多信息:

于 2013-08-09T21:41:12.500 回答