2012-07-12 9 views
5

Aquí está mi definición de los dos términos, aunque no estoy seguro de si se trata de una completa uno:objetos persistentes y transitorias - confusa acerca de la terminología

Un objeto persistente es una instancia de una clase en el modelo de dominio que representa cierta información extraída de la base de datos. A objeto transitorio es una instancia de una clase en el modelo de dominio, que se crea en la memoria

a) I asumen los términos persistente y transitoria sólo se utilizan para los objetos en el modelo de dominio , pero no también para los objetos en la capa de negocios que viven fuera del modelo de dominio?

b) ¿También utilizamos los dos términos para Data-Transfer-Objects?

c) ¿Los dos términos también se usan para Value Objects?

Gracias

Respuesta

16

medios persistentes que el objeto se ha guardado en la base de datos, mientras que los medios transitorios que no se ha guardado todavía. Entonces, por ejemplo, cuando obtienes una entidad de un repositorio, esa entidad es persistente. Cuando creas una nueva entidad, es transitoria hasta que persiste.

a) Estos términos están más afiliados a los ORM que a los DDD, por lo que se aplican a todo lo que no sea DDD. Dentro de DDD persistente/transitorio se aplica a entidades y raíces agregadas porque estos son los objetos que persisten en los repositorios.

b) No, las DTO están diseñadas para transportar datos a través de los límites del proceso y no tienen un ciclo de vida que los objetos que desea persistir en una base de datos.

c) No porque los objetos de valor no tienen una identidad y solo pueden persistir como parte de una entidad o raíz agregada. Un objeto de valor es solo un valor, clasificar como 1 es un valor entero y no tiene sentido hablar si es persistente o no.

+0

Responde a mi pregunta, por lo que la marcaré como respondida en un día. Pero en caso de que encuentre algo de tiempo para ayudarme un poco más: "No porque los objetos de valor no tienen una identidad y solo pueden persistir como parte de una entidad o raíz agregada". No usamos los dos términos para Value Object incluso si tiene su propia tabla de base de datos? – user1483278

+1

Un ORM determina el estado persistente/transitorio de un objeto en función del valor de su identificador (o versión). Dado que los objetos de valor no tienen un ID, el ORM no realiza esa determinación para los objetos de valor: todos los objetos de valor se conservan a través de una entidad raíz. Si persiste objetos de valor directamente, entonces no son realmente objetos de valor. – eulerfx

+0

gracias por su ayuda – user1483278

0

Transitorio significa un objeto no procesado o el objeto que se crea una instancia o se acaba de crear. Una vez que el objeto se está enviando para cualquier otra operación, se conoce el estado del objeto.

Cuestiones relacionadas