Pergunta

Quais são as diferenças entre Padrão DTO(por Fowler) e Padrão de lembrança(pelo GoF) no aspecto de motivação e implementação?Podem ser as mesmas aulas?Se sim, como posso nomeá-los (xxxDTO ou xxxMemento)?Eles têm alguma diferença principal na implementação?Onde está o lugar deles MVP arquitetura?

Obrigado.

Foi útil?

Solução

Os dois são frequentemente usados ​​para coisas muito diferentes - onde você está confuso aqui?DTO trata de transmissão de dados (classes de operadora), enquanto memento trata de acompanhar as alterações e permitir que você reverta essas alterações.Não tenho certeza, além disso, do que está confundindo você com sua pergunta.

Outras dicas

Eles servem a propósitos diferentes. O DTO é um padrão de design usado para transferir objetos entre camadas e/ou camadas de um aplicativo de software. A lembrança, por outro lado, é outro padrão de design que permite que um objeto forneça uma capacidade de desfazer, externalizando seu estado que pode ser restaurado posteriormente, se necessário. Uma classe DTO e uma classe de lembrança para uma classe podem parecer semelhantes e simples {inserir tecnologia aqui} objeto - po? O ou ter exatamente o mesmo. No entanto, eles precisam ser mantidos separados porque atendem às diferentes necessidades e, portanto, evoluem de maneira diferente. Por exemplo, você pode um dia precisar incluir uma propriedade na sua classe DTO, mas a mesma propriedade não é importante para o gerenciamento de estado do objeto e, portanto, não precisa ser adicionado à classe Memento.

Outro aspecto é que o DTO geralmente ocorre fora de suas aulas e suas aulas não têm idéia, como deveriam sobre o DTO. De fato, existem estruturas por aí que cuidam do mapeamento de dados para você. Para o padrão de lembrança, por outro lado, suas aulas precisarão fornecer uma API como você vê nos diagramas UML como CreateMemento, RestaureFroMemento etc.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top