c# - 在 .NET 中,为什么 ObjectCache 是 MemoryCache 的首选类型?
问题描述
在 .NET 中使用内存缓存的许多 示例(包括官方文档)将其实例化为:
private readonly ObjectCache memoryCache = MemoryCache.Default;
有什么理由更喜欢这个:
private readonly MemoryCache memoryCache = MemoryCache.Default;
解决方案
它类似于声明变量或接收类型参数Stream
而不是FileStream
or MemoryStream
:不必关心您拥有哪种实现的灵活性。
ObjectCache
是 的基类MemoryCache
。在实例化时,您正在创建一个特定的实现,但在代码的其他地方,您拥有哪个实现并不重要。重要的是基类提供的通用接口。您可以更改实例化以创建不同的类型,并且不必修改使用缓存的代码。
推荐阅读
- ffmpeg - 使用 ffmpeg 提取帧并找出它们的偏移量(毫秒)
- python-3.x - 在 Tkinter 和 Python3 中使用 entry、StringVar 和 IntVar
- python - 烧瓶:错过一些块
- javascript - 获取 XML 字段值 javascript
- sql - SQL Server:从同一个表中删除多个未知约束
- python - 尝试保存使用 plotnine 创建的绘图时,Tkinter 崩溃
- arrays - 通过一个参数将 1 个或多个数组传递给函数
- java - 仅解析大型 JSON 字符串中的一个字段
- java - Java中的信号量。生产者消费者问题
- html - 如何在后台 URL 中传递 CSS 变量