Question

Quelles sont les différences entre modèle DTO (par Fowler) et motif Memento (par GOF) dans la motivation et l'aspect mise en œuvre? Peut-il être les mêmes classes? Si oui, comment puis-je les nommer (ou xxxDTO xxxMemento)? Ont-ils une différence principale dans la mise en œuvre? Où sont leur place dans l'architecture MVP ?

Merci.

Était-ce utile?

La solution

Les deux sont souvent utilisés pour des choses très différentes - où êtes-vous confus ici? DTO est sur la transmission de données (classes de support), alors que memento est de garder une trace des changements et vous permettant de rouler ces changements en arrière. Je ne sais pas, au-delà, ce qui vous confonds de votre question.

Autres conseils

Ils servent à des fins différentes. DTO est un modèle de conception utilisé pour transférer les objets entre les couches et / ou des niveaux d'une application logicielle. Memento d'autre part est un autre motif de conception qui permet à un objet de fournir une capacité d'annulation en externalisant son état qui peut ensuite être restauré si besoin est. Une classe DTO et une classe Memento pour une classe peut ressembler, ancienne plaine {Insérer la technologie ici} objet - PO O ou exactement la même chose. Cependant, ils doivent être conservés séparément car ils répondre aux différents besoins et donc évoluer différemment. Par exemple, vous pouvez besoin un jour d'inclure une propriété dans votre classe DTO, mais la même propriété est pas important pour la gestion de l'état de l'objet et n'a donc pas besoin d'être ajouté à la classe memento.

Un autre aspect est que DTO a généralement lieu en dehors de vos classes et vos classes n'a aucune idée comme ils le devraient au sujet DTO. En fait, il y a des cadres là-bas que de prendre soin de la cartographie des données pour vous. Pour motif memento d'autre part, vos classes devront fournir un api comme vous voyez dans les diagrammes UML tels que CreateMemento, RestoreFromMemento etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top