2009-10-13 94 views
14

我读到维基百科上的对象池模式(http://en.wikipedia.org/wiki/Object_pool),它提到“危险陈旧的状态”。什么是陈旧状态?

究竟是什么“陈旧”的状态?我知道状态是变量/数据,比如我的字段和属性,但是这是什么意思陈旧或危险陈旧?

+0

副作用在脑海中浮现在脑海中。 – 2009-10-13 22:40:10

+1

陈旧的数据是严重的业务http://www.martinfowler.com/bliki/TwoHardThings.html – 2009-10-13 22:42:27

回答

24

陈旧状态是不反映现实的对象中的信息。

实施例:一个对象的成员填充有来自数据库的信息,但在数据库的基础数据已经改变,因为对象填充。

危险地失效状态是陈旧的状态,可能一个程序,即运行产生不利影响导致其无法正确执行由于对数据的完整性无效的假设。

1

它发生时,存储在对象的价值已不反映底层的持久价值。我认为危险陈旧只是一种说法,价值确实过时。

0

基本上,这意味着无效状态。通常是不通知你的状态变化实例的副产品。

1

“陈旧状态”是当该系统的其余部分的一个对象的存储(缓存)视图变得过时。例如,一个对象持有某个其他对象的句柄,但同时删除了第二个对象。

试图取消引用一个陈旧的手柄可能会导致大问题。

大多数系统将尝试自动地保护您免受各种原因与陈旧的状态结束了,但它并不总是能够涵盖所有情况。 (取决于系统)

Larry

相关问题