这是什么正式名称?

时间:2012-02-13 17:31:54

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

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

我的意思的例子可能是我可以使用的本地化语言字符串阅读器:

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

或配置阅读器,如下所示:

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

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

1 个答案:

答案 0 :(得分:0)

  

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

     

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