Design patterns 在web项目中使用Singleton和OnePerThread模式的情况

Design patterns 在web项目中使用Singleton和OnePerThread模式的情况,design-patterns,Design Patterns,在构建web应用程序时,我不太明白什么时候应该使用Singleton或OnePerThread模式 有谁能告诉我们什么时候应该知道如何实现这些模式 熟悉ASP.NET MVC。通常,这不是解决问题的方法:“我应该使用什么模式”。说话要自然 对于web应用程序: 每个线程一个线程通常是请求数据,因为每个请求都由一个单独的线程处理——对于给定的请求,需要特定的所有内容都在这里。示例:数据库连接。每个请求(通常)与一个db连接关联。它不能在多个请求之间共享 singleton—这是无状态的,或者更恰

在构建web应用程序时,我不太明白什么时候应该使用Singleton或OnePerThread模式

有谁能告诉我们什么时候应该知道如何实现这些模式


熟悉ASP.NET MVC。

通常,这不是解决问题的方法:“我应该使用什么模式”。说话要自然

对于web应用程序:

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

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


不是ASP.NET的:)但我会尝试想出一些通用的方法。单例并不意味着一切都是无状态的,它意味着你有一个对象,你只需要一个。我最近遇到的一个使用单例的例子是到远程供应商的TCP连接。他们已经实现了自己的数据传输协议,所以我必须为此编写一个客户端,它需要能够通过每个web服务器的单个套接字访问他们的系统。@Joon这是一个奇怪的用例。不管怎样,我补充了一个关于国家的澄清。