Pregunta

¿Cuáles son las diferencias entre DTO patrón (por Fowler) y Memento patrón (por GoF) en la motivación y la aplicación aspecto? ¿Puede ser las mismas clases? En caso afirmativo, ¿cómo puedo nombrarlos (xxxDTO o xxxMemento)? ¿Tienen alguna diferencia principal en la ejecución? ¿Dónde están su lugar en MVP arquitectura?

Gracias.

¿Fue útil?

Solución

Los dos son de uso frecuente por diferentes cosas - donde está usted confundido aquí? DTO se trata de la transmisión de datos (clases portadoras), mientras que recuerdo es por llevar un seguimiento de los cambios y lo que le permite rodar esos cambios. No estoy seguro, más allá de eso, lo que está confundiendo a su pregunta.

Otros consejos

tienen propósitos diferentes. DTO es un patrón de diseño utilizado para transferir objetos entre capas y / o niveles de una aplicación de software. Memento, por otro lado es otro patrón de diseño que permite que un objeto proporcionar una capacidad de deshacer mediante la externalización de su estado que más tarde puede ser restaurado si es necesario. Una clase DTO y una clase Memento para una clase puede ser similar, el viejo y simple {Insertar} Tecnología Aquí objeto - PO O o exactamente el mismo aspecto. Sin embargo, tienen que estar separados porque van a servir a diferentes necesidades y por lo tanto evolucionar de manera diferente. Por ejemplo, puede un día necesidad de incluir una propiedad en su clase DTO pero la misma propiedad no es importante para la gestión del estado del objeto y por lo tanto no necesita ser añadido a la clase de recuerdo.

Otro aspecto es que DTO por lo general tiene lugar fuera de sus clases y sus clases no tiene idea de como deberían acerca DTO. De hecho, existen marcos que hay que cuidar de asignación de datos para usted. Para patrón memento por el contrario, las clases tendrán que proporcionar una API como se ve en los diagramas UML como CreateMemento, RestoreFromMemento etc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top