Вопрос

Каковы различия между Dто шаблон(на Фаулеле) и Схема Memento(по GOF) в мотивации и аспекте реализации? Это может быть те же классы? Если да, как я могу назвать их (xxxdto или xxxmemento)? У них есть какое-либо принципиальное различие в реализации? Где их место в MVP. архитектура?

Спасибо.

Это было полезно?

Решение

Двое часто используются для очень разных вещей - где вы здесь смущены? DTO о передаче данных (классы носителей), а Memento состоит в том, чтобы сохранить отслеживание изменений и позволить вам отказаться от этих изменений. Я не уверен, помимо этого, что сбивает вас от вашего вопроса.

Другие советы

Они служат разным целям. DTO - это шаблон дизайна, используемый для передачи объектов между слоями и / или ярусами программного приложения. Memento с другой стороны - еще один рисунок дизайна, который позволяет объекту предоставлять возможность отменить возможность, внешнее состояние, которое позже может быть восстановлено, если это необходимо. Класс DTO и класс Memento для класса могут выглядеть как простые старые star {Technology здесь} - Po? O или выглядеть точно так же. Однако они должны храниться отдельно, потому что они будут служить различным потребностям и, следовательно, развиваются по-разному. Например, вы, возможно, однажды должны включать свойство в вашем классе DTO, но одинаковое свойство не важно для государственного управления объектом, и поэтому не нужно добавлять в класс Memento.

Другим аспектом является то, что DTO обычно происходит за пределами ваших классов, и ваши классы не имеют представления о том, что они должны о DTO. На самом деле, там есть каркасы, которые позаботятся о том, чтобы позаботиться о создании данных для вас. Для узора Memento с другой стороны, ваши классы должны будут предоставить API, как вы видите в диаграммах UML, такие как CreateMemento, RestoreFormomento и т. Д.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top