Domanda

Quali sono le differenze tra DTO modello (da Fowler) e Memento modello (da GoF) nella motivazione e l'attuazione aspetto? Può essere le stesse classi? Se sì, come posso nominarli (xxxDTO o xxxMemento)? Hanno alcuna differenza principale nella realizzazione? Dove sono il loro posto nella MVP architettura?

Grazie.

È stato utile?

Soluzione

I due sono spesso utilizzati per cose molto diverse - Dove stai confuso qui? DTO è di circa la trasmissione dei dati (classi di carrier), mentre il ricordo è di tenere traccia dei cambiamenti e che consente di rotolare tali modifiche. Non sono sicuro, al di là di questo, ciò che è si confondo dalla tua domanda.

Altri suggerimenti

Si servono scopi diversi. DTO è un modello di progettazione utilizzato per trasferire oggetti tra strati e / o livelli di un'applicazione software. Memento invece è un altro modello di design che permette un oggetto per fornire una capacità di annullamento esteriorizzando suo stato che può essere successivamente ripristinata se necessario. Una classe DTO e una classe Memento per una classe può essere simile pianura vecchio {Inserire Tecnologia Qui} oggetto, - PO O o aspetto esattamente lo stesso. Tuttavia, devono essere tenuti separati perché servirà esigenze diverse e quindi evolvere in maniera diversa. Ad esempio, si potrebbe un giorno essere necessario includere una proprietà nella classe DTO ma la stessa proprietà non è importante per la gestione dello stato dell'oggetto e quindi non ha bisogno di essere aggiunti alla classe ricordo.

Un altro aspetto è che DTO solito prende luogo al di fuori delle classi e le vostre classi non ha idea di come dovrebbero su DTO. In realtà, ci sono quadri là fuori che si occupano di mappatura dei dati per voi. Per Memento Pattern d'altra parte, le vostre classi dovranno fornire un'API come si vede nei diagrammi UML, come CreateMemento, RestoreFromMemento ecc

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top