2013-08-26 6 views
1

Я начинаю новый проект Spring и решил попробовать Spring Roo. При настройке уровня сохранения я вижу, что Spring Roo поддерживает (фактически даже по умолчанию) шаблон ActiveRecord. Хотя я всегда был поклонником DAO/DTO в прошлом, Roo очень хорошо подходит для использования шаблона ActiveRecord, поскольку он, похоже, «скрывает» большинство методов ActiveRecord в файлах apsect.Spring Roo с ActiveRecord vs Spring Data

Кто-нибудь знает, почему разработчики Spring Roo по умолчанию используют ROO для использования шаблона AR, когда Spring Data выполняет такую ​​прекрасную работу по обеспечению/скрытию CRUD (типичный бэйн моделей DAO)? Является ли Spring попыткой заставить больше людей использовать шаблон AR вместо шаблона Repo?

ответ

6

Я считаю, что это было потому, что парадигма ActiveRecord из лагеря Rails/Ruby показала альтернативы полному стеку, к которому мы привыкли. Вот как весна команда ставит его:

Мы удалили DAO слой, поскольку он не является строго необходимым для создания типичных веб-приложений, что большинство людей, которые пытаются строить

Также стоит заметить что самые современные рамки RAD избегают слоев DAO и добавляют методы сохранения непосредственно к объектам. Если вы используете , сравните подобные технологии с Roo, вы увидите, что это предотвращение уровня DAODAO является обычным явлением, основным и не вызывает проблем.

Источник: http://static.springsource.org/spring-roo/reference/html/architecture.html#architecture-dao

То есть, я уже использовал Роо с уровнями приложений класса с успехом. Преимущество состоит в том, что он чувствует себя более «Весной», и, поскольку мы можем удалить Roo и встроить все IDT, долгосрочное обслуживание может быть проще.

В последнее время я использую путь ActiveRecord, потому что оболочка Roo по-прежнему не поддерживает динамические искатели при использовании репозиториев. Я не надеюсь, что они скоро придут к нему: https://jira.springsource.org/browse/ROO-2694