2009-10-13 3 views
14

Я читал о шаблоне пула объектов в Википедии (http://en.wikipedia.org/wiki/Object_pool), и он упоминает «опасно устаревшее состояние».Что такое устаревшее состояние?

Что такое состояние «застоя»? Я знаю, что состояние - это переменные/данные, такие как мои поля и свойства, но что это означает, что они устарели или опасно устарели?

+0

Побочные эффекты приходят на ум как-то вдоль этой линии. –

+1

Данные о старых данных - серьезный бизнес http://www.martinfowler.com/bliki/TwoHardThings.html –

ответ

24

Состояние устаревания - это информация в объекте, который не отражает реальность.

Пример: члены объекта заполнены информацией из базы данных, но базовые данные в базе данных изменились с момента заполнения объекта.

Опасно устаревшее состояние является устаревшим состоянием, которое может неблагоприятно повлиять на работу программы, то есть заставляя его выполнять неправильно из-за недопустимых предположений о целостности данных.

1

Это происходит, когда значение, хранящееся в объекте, больше не отражает базовое постоянное значение. Я думаю, опасно устаревший - это просто способ сказать, что стоимость действительно устарела.

0

В принципе, это означает недействительное состояние. Обычно это побочный продукт, не уведомляющий ваши случаи изменения штата.

1

«Состояние старинного состояния» - это когда сохраненный (кэшированный) вид объекта остальной части системы устарел. Например, объект держит дескриптор некоторого другого объекта, но второй объект был удален тем временем.

Попытка разыменовать устаревшую ручку может привести к большим проблемам.

Большинство систем будет пытаться автоматически защищать вас от различных причин, чтобы закончиться устаревшим состоянием, но не всегда возможно охватить каждый случай. (В зависимости от системы.)

Larry

Смежные вопросы