7

Некоторые факты/допущения:Является ли Ruby на Rails с Draper или Apotomo MVVM?

  1. Говорят, что Рубин на Rails следует MVC архитектурного шаблона.
  2. MVVM (Model View ViewModel), который проистекает из MVC, предлагает слой абстракции, где все кнопки, метки и ссылки (Вид) отделены от способа отображения данных (ViewModel).
  3. Некоторые фреймворки Javascript, которые выделяются в одном приложении с одной страницей, используют шаблон MVVM (например, Knockout.js).
  4. Если мы проверим Ruby toolbox, мы увидим несколько презентационных решений, таких как Draper и Apotomo, которые работают как объект ViewModel.

Предполагая, что нет бс в моем разделе «факты», есть одна вещь, которая меня беспокоит:

  • Можно ли назвать Rails с Draper, Apotomo (или другой ведущий/декоратор) решение MVVM ?
  • Можем ли мы сказать, что мы следуем шаблону MVVM с Rails, если мы инкапсулируем данные из модели в виде контейнера декоратора/презентатора с Draper?
  • Или что-то не хватает, и мы не можем назвать это MVVM, например Knockout.js?

Благодарим за понимание.

ответ

3

Не на мой взгляд .... Я думаю о MVVM как о создании конкретных объектов вида, которые отключены от базового объекта данных/домена.

С шаблоном презентатора Rails эти ведущие обычно обертывают объект активной записи и добавляют к нему методы, относящиеся к презентации.

+0

Презентатор/декоратор, будучи тесно связан с модельным слоем, точно в случае с Draper - я согласен. Но как насчет Апотомо? Представьте, вы используете Apotomo для рендеринга диаграмм (скажем, higcharts.com). Вы кодируете его так, чтобы виджет apotomo принимал за парам данных (только метки и цифры), а затем обрабатывал его предопределенным образом. Соответствует ли подобный подход вашим ожиданиям «отключение от слоя модели»? Спасибо за ваши ответы и мнения, я ценю это! – socjopata

+0

@socjopata Ну, я думаю, если бы вам нужно было создать объект вида и отправить его в apotomo, то обязательно ... но я не думаю, что apotomo потребует такого отключения. –

+1

Я как бы надеялся на некоторое обсуждение с другими пользователями stackoverflow по этому вопросу. Тем не менее, «зеленый тик» принадлежит вам. Спасибо за ваши мнения :) – socjopata

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

  • Нет связанных вопросов^_^