在 Web 项目中使用 Singleton 和 OnePerThread 模式的情况

发布于 2024-10-07 09:42:06 字数 131 浏览 1 评论 0原文

我不太明白在构建 Web 应用程序时何时应该使用 Singleton 或 OnePerThread 模式。

谁能告诉我们一些什么时候我们应该知道实施这些模式的情况?

熟悉 ASP.NET MVC。

I dont quite get when I should use a Singleton or OnePerThread pattern when building a web application.

Could anyone tell us some situations of when we should know to implement these patterns?

Familiar with ASP.NET MVC.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

醉城メ夜风 2024-10-14 09:42:06

一般来说,这不是解决问题的方法:“我应该使用什么模式”。模式应该是自然而然的。

对于网络应用程序:

  • 每线程一个通常是请求数据,因为每个请求都由单独的线程处理 - 特定于给定请求的所有内容都在这里。示例:数据库连接。每个请求(通常)与一个数据库连接相关联。它不能在多个请求之间共享。

  • 单例 - 这是无状态的一切,或者更正确地说--只有一个状态,并且它不依赖于当前使用该对象的线程。示例:处理付款的服务。它不存储任何状态 - 它只是调用给定一些支付参数的支付提供商。

Generally, this is not the way to approach a problem: "What patterns should I use". Patters should come naturally.

For a web-app:

  • one-per-thread is usually request data, because each request is handled by a separate thread - everything that needs to be specific for a given request is here. Example: A database connection. Each request is (generally) associated with one db connection. It cannot be shared among multiple requests.

  • singleton - this is everything that is stateless, or more properly stated - there is only one state and it does not depend on the thread currently using the object. Example: a service that processed payments. It does not store any state - it just calls the payment provider given some payment parameters.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文