2016-10-28 3 views
3

Когда мы говорим о командных объектах в Grails и даже весной, они такие же, как объекты передачи данных? Смысл, является ли командный объект примером реализации шаблона проектирования предприятия DTO? Если нет, в чем разница?Объекты команд и DTO, разница?

ответ

2

A объект передачи данных (DTO) - объект (простой java bean), который передает данные между любыми двумя уровнями или процессами. Обычно вы можете ввести/использовать слой DTO &, заполнив бит DTO данными, полученными от внешней веб-службы или внешней системы.

Command объект просто пружина (MVC) терминология, которая отображает данные HTML-форм в Java Bean (форма боба). Здесь сервлеты Spring Dispatcher & классы-помощники сопоставляют данные из html-формы в java-компонент. В Grails объекты команд делают сервер больше, чем носители данных, такие как преобразование АСТ.

Таким образом, они оба являются носителями данных от одного уровня к другому.

Является ли командный объект весной примером реализации шаблона проектирования предприятия DTO?

Да, но следует отметить, что Spring грузоотправитель сервлет & вспомогательные классы заполнить объект команды с данными формы HTML.

+0

«Командный объект - это просто терминология весны (mvc), которая отображает данные формы html в java bean (form bean)» - это не так в контексте Grails, о чем и идет речь. Существует множество особых вещей, которые мы делаем для того, что Grails называет «объектами команд», включая не только привязку данных, но и инъекцию и проверку зависимостей. –

+0

«... но следует отметить, что классы сервлетов и помощников Spring Dispatcher заполняют объект команды данными формы html». - это не так в Граале. У нас есть преобразование АСТ, которое настраивает всю привязку данных, логику впрыска и логики зависимостей во время компиляции. Сервлет-диспетчер не участвует ни в одном из них в Grails. –

+0

Я получил вашу точку зрения на Grails, но вопрос объединил и Spring & Grails – developer

Смежные вопросы