流星中的资源 - 视图 - 演示者

时间:2015-08-02 22:24:59

标签: design-patterns meteor

在我寻求Meteor的最佳实践时,我的阿司匹林用完了。我喜欢开发具有一定意识的应用程序 - 例如MVC对于使用Rails进行跟踪非常有帮助。有了Meteor,各种书籍都陈述了不同的模式。有人说各种级别的MVC,其他人则选择MVVM'或者' MVP'。每一次,我都深信不疑。我偶然发现了Resource View Presenter,它显然可以应用于Meteor中的反应式编程 - 作为主要参数

  • isomorphic javascript的使用
  • 模式MVC,MVVM和MVP未针对实时框架

由于我无法找到关于Resource-View-Presenter的Wikipage,我想知道它是否真的是一个平台采用的不同模式,如Meteor或者只是一些小说,就像MVVM一样容易被称为MVVM还是MVP?我在这里找不到RVP标签这一事实让我怀疑它的存在(以及它的论点)。

资源: http://blog.nodejitsu.com/scaling-isomorphic-javascript-code/#rvp

1 个答案:

答案 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/