在我寻求Meteor的最佳实践时,我的阿司匹林用完了。我喜欢开发具有一定意识的应用程序 - 例如MVC对于使用Rails进行跟踪非常有帮助。有了Meteor,各种书籍都陈述了不同的模式。有人说各种级别的MVC,其他人则选择MVVM'或者' MVP'。每一次,我都深信不疑。我偶然发现了Resource View Presenter,它显然可以应用于Meteor中的反应式编程 - 作为主要参数
由于我无法找到关于Resource-View-Presenter的Wikipage,我想知道它是否真的是一个平台采用的不同模式,如Meteor或者只是一些小说,就像MVVM一样容易被称为MVVM还是MVP?我在这里找不到RVP标签这一事实让我怀疑它的存在(以及它的论点)。
资源: http://blog.nodejitsu.com/scaling-isomorphic-javascript-code/#rvp
答案 0 :(得分:1)
我从流星论坛得到的答案:
从某种意义上说,Meteor介于MVC和MVVM之间。 MVC是一个周期性的 在早期的Web和桌面UI中专门使用的模式 更新发生在控制器然后填充到模型然后 观点。
MVVM是一种无定形模式,其中更新以某种方式发生在 模型或视图,并在视图模型中来回传递。
流星基本上是MVVM的一种方式。填充模型中的更新 通过帮助者和数据上下文来查看视图。这是 基本上是Blaze助手的要点 - 构建视图模型 虽然它没有被称为。流星在另一方没有约束力 因为在高度分离的异步环境中, 做到这一点是非常困难和耗时的 没有把时间(也许永远不会)献给它。但是,你可以 始终使用事件通过更新来模拟绑定的另一种方式 适当更新的模型。所以利用MVVM模式是一个 选项,您只需要实现从视图到绑定的绑定 查看模型。当然可以添加一个路由器和一些额外的服务层 完全进入MVC方向并利用反应 Meteor的性质使MVC极具响应性。选择是 真的取决于你。
更准确地说,Meteor遵循自我更新的MV *模式 对模型变化“反应”的观点。这取决于你插入 控制器或视图模型,或您想要使用的任何中间件 与模特互动。我会说MVC模式效果很好 使用Web应用程序而MVVM模式(或MVP模式) 适用于原生(或Cordova)应用程序。
https://forums.meteor.com/t/mvvm-as-typical-development-pattern/