【问题标题】:Backbone save/fetch VS DAO?骨干保存/获取 VS DAO?
【发布时间】:2015-09-26 22:15:04
【问题描述】:

只是想知道为什么我们在后端应用程序中使用 DAO 模式,而在带有 Backbone 等框架的单页面应用程序中,我们在主干模型/集合上使用保存/获取功能。

我已经在使用 Play (Java/Scala) 等框架的服务器端开发中看到了这一点,我认为 Rails 也可以做到这一点(?)。在我看来,这对于小型项目来说是一个很酷的功能,但并不适合大型应用程序。

我只是想知道为什么当搜索“backbone + dao”时,我发现的唯一用例是关于浏览器本地存储,而不是关于访问远程数据。我是唯一一个认为复杂的主干应用程序应该使用 DAO 模式来访问远程数据的人吗?

【问题讨论】:

    标签: javascript backbone.js


    【解决方案1】:

    Backbone 在数据访问方面很大程度上模仿了 Ruby on Rails,将 Active Record (AR) 模式直接融入其中。这是大多数 Rails 开发人员的偏好,也是 Backbone 核心团队的偏好,但这并不是唯一有效的做事方式。

    FWIW,我只在 10% 到 20% 的时间里使用 Backbone 的 AR 风格方法。在绝大多数情况下,我使用单独的 DAO 或命令模式样式的持久性,由 AmplifyJS 促进。

    【讨论】:

    • 愿意详细说明后者吗?例子?您的博客上是否有任何文章的链接?
    • 谢谢,会检查的。您能解释一下如何将 AmpliofyJS 集成到主干应用程序中吗?
    • lostechies.com/derickbailey/2012/05/04/… - 这篇博文是用一个自制的命令框架编写的,但如果你用 Amplify 的“请求”框架替换它,这正是我所说的。
    • Derick,虽然我一直在阅读您的文章并发现有用并尝试在主干中实现代码,但最近我开始回顾 KO 或其他东西。我不是来自 ruby​​ 世界的原因有时会发现事情并没有像我预期的那样清楚地切片。也许我有错误的印象,但主要是我的意思是单一责任问题。例如,我看到 KO 开发人员可以使用 DAO,使用一些第三方库的存储库模式。特别是在某些情况下,可以将骨干集合视为一种存储库吗?您是否有使用过 amplify.js 的示例代码?谢谢
    猜你喜欢
    • 1970-01-01
    • 2012-09-22
    • 2013-07-23
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-29
    相关资源
    最近更新 更多