![]() |
1
5
不需要一个有所有相关缺点的单身汉( customary anti-singleton link )
我喜欢把它储存在
|
![]() |
2
5
我会考虑将规则存储在所有会话都可用的httpContext.cache中。您可以在卸载缓存时重建缓存(由于缺少使用)。 |
![]() |
3
1
我觉得你的解决方案不错。特别是如果消费代码没有修改数据,那么使用单例类或静态类听起来应该不是问题。我不确定是否有必要给它贴上“单身”的标签,尽管我想这就是它的行为方式。 您可以使用一个固有的“缓存”静态类,因为它在aspnet工作进程内存中,或者显式地将其缓存到Web缓存中。如果执行后者,则可以通过向缓存项添加文件依赖项来获益,这样任何文件更改都将强制从缓存重新加载。 |
![]() |
4
1
我不会使用单例,因为这会使应用程序更难测试。大多数IOC容器都可以帮助您用“single(ton)”实例替换这个模式,该实例在所有使用single ton的类之间共享。 |
![]() |
5
0
很容易得到一个IOC容器来为您提供一个单例,我认为使用传统的单例模式是很难证明的。 |
![]() |
6
0
当您可能需要一个对象的多个实例时,单例可以被证明是合理的。术语“singleton”稍微有点误导,因为通常相同的软件设计模式用于控制类的多个实例。 您可以使用静态类,或者在静态引用上挂起单实例,或者将其存储在ASP.NET Web集合中。单例可以参与将来的继承等等……至于静态类和单例模式,我不讨论这个论点,因为它已经 thoroughly addressed online, even on StackOverflow |
![]() |
7
0
很快我就会说不,试着把它绑定到“范围”上。如果它在应用程序范围内,则尝试将其与应用程序绑定。如果它是会话绑定的,请将其放入会话等。例如,如果您希望在同一容器中运行2个应用程序,这将帮助您。我对ASP.NET没有经验,但似乎有一个“httpApplicationState”。你能用一下吗? |
![]() |
S qasem · Android内存性能 7 年前 |
![]() |
R83nLK82 · 在单例设计模式上引发IOException 7 年前 |
![]() |
hal · 两个课程有什么区别?他们的工作方式不同吗? 7 年前 |
![]() |
Jaquarh · 如何在不使用DI的情况下实例化父类 7 年前 |
|
Deepanshu · 基于PHP的Web应用程序中的单例对象状态 7 年前 |
![]() |
dicle · 视图控制器中的依赖项注入 7 年前 |
![]() |
Kozuki · 如何在生产代码中考虑单例? 7 年前 |