Frage

Was sind die Unterschiede zwischen DTO Muster (durch Fowler) und Memento Muster (von GoF) in Motivation und Umsetzung Aspekte? Kann es die gleichen Klassen sein? Wenn ja, wie kann ich sie (xxxDTO oder xxxMemento) nennen? Haben sie keinen wesentlichen Unterschied bei der Umsetzung? Wo sind ihr Platz in der MVP Architektur?

Danke.

War es hilfreich?

Lösung

Die beiden sind oft für sehr verschiedene Dinge verwendet - wo Sie hier sind verwirrt? DTO ist über die Datenübertragung (Trägerklassen), während Erinnerung über den Überblick über Änderungen zu halten ist und so dass Sie diese Änderungen zurück zu rollen. Ich bin nicht sicher, über das, was Sie von Ihrer Frage ist verwirrend.

Andere Tipps

Sie dienen unterschiedlichen Zwecken. DTO ist ein Design-Muster übertragen Objekte zwischen den Schichten und / oder Lagen von einer Softwareanwendung verwendet. Memento auf der anderen Seite ist ein weiteres Design-Muster, das ein Objekt eine Undo-Fähigkeit bereitzustellen, ermöglicht durch seinen Zustand Externalisierung, die später gestellt werden kann, wenn es sein muss. Eine DTO-Klasse und ein Memento-Klasse für eine Klasse kann ähnlich aussehen, plain old {Insert Technology Hier} Objekt - PO O oder genau gleich aussehen. Allerdings müssen sie getrennt zu halten, weil sie unterschiedliche Bedürfnisse dienen und daher unterschiedlich entwickeln. Zum Beispiel, einen Tag werden Sie müssen in Ihrer DTO-Klasse gehören eine Eigenschaft können aber die gleiche Eigenschaft ist nicht wichtig für das staatliche Verwaltung des Objekts und daher nicht zur Erinnerung Klasse hinzugefügt werden muss.

Ein weiterer Aspekt ist, dass DTO erfolgt in der Regel außerhalb der Klassen und Klassen haben keine Ahnung, wie sie sollten über DTO. In der Tat gibt es Rahmenbedingungen gibt, die kümmern sich für Sie von Datenzuordnung. Für Erinnerungsmuster auf der anderen Seite, müssen Sie Ihre Klassen eine api bieten, wie Sie in den UML-Diagrammen zu sehen wie CreateMemento, RestoreFromMemento usw.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top