一些事实/假设:
- 据说 Ruby on Rails 遵循 MVC 架构模式。
- MVVM(模型视图 ViewModel),源自 MVC,提供了一个抽象层,其中所有按钮、标签和链接(视图)都与模型公开数据的方式(视图模型)分离。
- 一些擅长构建单页应用程序的 Javascript 框架利用 MVVM 模式(例如 Knockout.js)。
- 如果我们检查Ruby 工具箱,我们将看到几个演示器解决方案,例如 Draper 和 Apotomo,它们就像 ViewModel 一样工作。
假设我的“事实”部分没有 bs,有一件事情困扰着我:
- 我们可以将带有 Draper、Apotomo(或其他演示器/装饰器)的 Rails 称为 MVVM 解决方案吗?
- 如果我们使用 Draper 将模型中的数据封装在装饰器/呈现器容器的形式中,我们可以说我们在 Rails 中遵循 MVVM 模式吗?
- 还是缺少某些东西,我们不能将其称为 MVVM,例如 Knockout.js?
感谢您的见解。