首页 > 解决方案 > 在 .NET 中,为什么 ObjectCache 是 MemoryCache 的首选类型?

问题描述

在 .NET 中使用内存缓存的许多 示例包括官方文档)将其实例化为:

private readonly ObjectCache memoryCache = MemoryCache.Default;

有什么理由更喜欢这个:

private readonly MemoryCache memoryCache = MemoryCache.Default;

标签: c#.netmemorycacheobjectcache

解决方案


它类似于声明变量或接收类型参数Stream而不是FileStreamor MemoryStream:不必关心您拥有哪种实现的灵活性。

ObjectCache是 的基类MemoryCache。在实例化时,您正在创建一个特定的实现,但在代码的其他地方,您拥有哪个实现并不重要。重要的是基类提供的通用接口。您可以更改实例化以创建不同的类型,并且不必修改使用缓存的代码。


推荐阅读