2009-10-13 8 views
14

Estaba leyendo sobre el patrón de grupo de objetos en Wikipedia (http://en.wikipedia.org/wiki/Object_pool) y menciona "estado peligrosamente añejo".¿Qué es el estado obsoleto?

¿Qué es exactamente el estado "obsoleto"? Sé que el estado es variables/datos, como mis campos y propiedades, pero ¿qué significa "rancio" o "peligrosamente rancio"?

+0

efectos secundarios vienen a la mente como algo a lo largo de esta línea. –

+1

Los datos obsoletos son un asunto serio http://www.martinfowler.com/bliki/TwoHardThings.html –

Respuesta

24

El estado inactivo es información en un objeto que no refleja la realidad.

Ejemplo: los miembros de un objeto se llenan con información de una base de datos, pero los datos subyacentes en la base de datos han cambiado desde que se rellenó el objeto.

El estado peligrosamente obsoleto es un estado obsoleto que podría afectar negativamente el funcionamiento de un programa, es decir, hacer que funcione incorrectamente debido a suposiciones no válidas sobre la integridad de los datos.

1

Ocurre cuando el valor almacenado en el objeto ya no refleja el valor persistente subyacente. Supongo que peligrosamente rancio es solo una forma de decir que el valor está realmente desactualizado.

0

Básicamente, significa que el estado no es válido. Por lo general, es un subproducto de no notificar las instancias de cambio de estado.

1

"Estado inactivo" es cuando la vista almacenada (en caché) de un objeto queda desactualizada. Por ejemplo, un objeto está sujetando un mango a algún otro objeto, pero el segundo objeto se ha eliminado mientras tanto.

Tratar de eliminar la referencia de un mango rancio puede ocasionar grandes problemas.

La mayoría de los sistemas tratarán de protegerlo automágicamente por varias razones para terminar con un estado obsoleto, pero no siempre es posible cubrir todos los casos. (Dependiendo del sistema.)

Larry