【问题标题】:What is the formal name for this?这个的正式名称是什么?
【发布时间】:2012-03-05 02:57:55
【问题描述】:

您将一个唯一目的是读取和缓存(而不是写入)持久存储实体(即数据库表)的对象正式称为什么?

我的意思是我可以像这样使用的本地化语言字符串阅读器的示例:

Language.Get("hello_world", "en_US") // returns "Hello, world"

或配置阅读器,像这样:

Config.Get("max_connections") // returns 3000

我想知道的原因是因为我发现自己写了很多这样的对象并且想正确地对它们进行分类。 “模型”对我来说似乎不正确,因为通常模型会编写操作和更复杂的业务逻辑。在这种情况下,对象只读取和缓存。

【问题讨论】:

  • 你可以称之为缓存。 :-)
  • 正如你所说 - “它的唯一目的是读取和缓存”.. 所以称之为缓存! :) “在计算机工程中,缓存是一种透明地存储数据的组件,以便可以更快地处理未来对该数据的请求。” (维基百科)

标签: web-applications language-agnostic data-structures


【解决方案1】:

记忆是“记住”潜在昂贵(但不变)计算结果的行为,因此不需要重新计算。它是实现 LazyEvaluation 的一种方式,并且是 LazyFunctionalLanguage 中的一个关键特性,它是隐式完成的。此外,记忆化通常不需要任何“搜索”——每个记忆化的表达式都带有它的“备忘录”,因此很容易确定表达式是否需要评估。

缓存是指“记住”昂贵的计算或 I/O 的行为。缓存可以是只读的(因为被缓存的东西不能被修改),也可以是读写的(在这种情况下,CacheCoherency 会成为一个问题)。此外,缓存中的项目集可能比可供使用的项目集小得多(内存系统缓存就是这种情况),在这种情况下,缓存分配和替换问题变得很重要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-23
    • 2010-12-07
    • 2011-03-21
    • 2010-12-10
    • 2022-11-30
    • 2014-10-03
    • 2011-02-10
    • 1970-01-01
    相关资源
    最近更新 更多