一种通过缓存和延迟计算保持依赖于用户的值之间一致性的机制。
Cellulose的Python项目详细描述
新闻
纤维素0.2有一些向后不相容的变化。检查自述文件 更多信息。
将日志从0.1.2更改为0.2:
* All tests pass with Python 2.5. * ComputedCell is now thread safe. * ComputedDict is now a little more friendly for subclassing. * The 'restrictions' functionality has been moved into it's own set of classes. * InputCellDescriptor will now take a default value. * Cell descriptors in general are easier to subclass. * DependantCell.dependency_changed now takes the dependency as an argument.
销售宣传(只有我不是销售人员)
纤维素提供了一种保持 具有缓存和延迟计算的相互依赖的值。
你可以把它想象成一个电子表格程序——许多单元格都是计算出来的 从其他单元格的值。当一个细胞改变时 单元格将更新为新值。
然而,纤维素远不止于此。它保证当 值被读取,它与它所依赖的所有值一致。它也是 懒惰的(读:有效的)计算一个值被推迟到最后一个 可能的时刻,只有在绝对需要时才重新计算。
依赖项发现和缓存失效是完全透明和自动的。 这大大减少了软件错误的主要来源。
该项目的目标是尽可能简单(但不简单),以便 任何想认真使用它的人都可以很容易地理解它的内部结构。
纤维素在用途上与pycells相似,但在某种程度上是“低水平的”。它 努力不挡你的路,但是,结果,缺少一些 Pycell提供的帮助程序。最基本的算法差异是 可能是纤维素非常想偷懒,而在pycells里 立即计算(默认情况下)。(在其反面,观察者在 pycells比较容易使用。)