7
Некоторые факты/допущения:Является ли Ruby на Rails с Draper или Apotomo MVVM?
- Говорят, что Рубин на Rails следует MVC архитектурного шаблона.
- MVVM (Model View ViewModel), который проистекает из MVC, предлагает слой абстракции, где все кнопки, метки и ссылки (Вид) отделены от способа отображения данных (ViewModel).
- Некоторые фреймворки Javascript, которые выделяются в одном приложении с одной страницей, используют шаблон MVVM (например, Knockout.js).
- Если мы проверим Ruby toolbox, мы увидим несколько презентационных решений, таких как Draper и Apotomo, которые работают как объект ViewModel.
Предполагая, что нет бс в моем разделе «факты», есть одна вещь, которая меня беспокоит:
- Можно ли назвать Rails с Draper, Apotomo (или другой ведущий/декоратор) решение MVVM ?
- Можем ли мы сказать, что мы следуем шаблону MVVM с Rails, если мы инкапсулируем данные из модели в виде контейнера декоратора/презентатора с Draper?
- Или что-то не хватает, и мы не можем назвать это MVVM, например Knockout.js?
Благодарим за понимание.
Презентатор/декоратор, будучи тесно связан с модельным слоем, точно в случае с Draper - я согласен. Но как насчет Апотомо? Представьте, вы используете Apotomo для рендеринга диаграмм (скажем, higcharts.com). Вы кодируете его так, чтобы виджет apotomo принимал за парам данных (только метки и цифры), а затем обрабатывал его предопределенным образом. Соответствует ли подобный подход вашим ожиданиям «отключение от слоя модели»? Спасибо за ваши ответы и мнения, я ценю это! – socjopata
@socjopata Ну, я думаю, если бы вам нужно было создать объект вида и отправить его в apotomo, то обязательно ... но я не думаю, что apotomo потребует такого отключения. –
Я как бы надеялся на некоторое обсуждение с другими пользователями stackoverflow по этому вопросу. Тем не менее, «зеленый тик» принадлежит вам. Спасибо за ваши мнения :) – socjopata