我正在创建一个包含 Dictionary
的公共(public)实例的缓存类.该类服务于整个应用程序,只能有一个全局实例,其生命周期与应用程序本身相同。
这个用例是否适合共享(静态)类?我知道对此有主观意见,但如果可能的话,我希望客观的利弊。
最佳答案
对,但是:
我永远不会公开公开这些词典。将它们隐藏在方法后面,以便您控制访问。如果应用程序是多线程的,您将需要同步访问,或使用 ConcurrentDictionary。字典本身不是线程安全的。
如果您打算将其用于缓存,请记住 .NET 中已经有用于缓存的选项。也许您的类(class)应该只封装其中之一?
在网络环境中:http://msdn.microsoft.com/en-us/library/system.web.caching.cache(v=vs.110).aspx
在非网络环境中:也许 http://msdn.microsoft.com/en-us/library/system.runtime.caching.memorycache(v=vs.110).aspx
关于vb.net - 这是共享(静态)类的好候选吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27364848/