首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模块内容与内部骨干方法的逻辑分离

模块内容与内部骨干方法的逻辑分离
EN

Stack Overflow用户
提问于 2014-06-14 01:10:25
回答 2查看 88关注 0票数 0

将骨干网与require.js模块结合使用,为功能实现提供了很大的自由。骨干网稍微构造了一些数据,但仍然不明白我应该保存什么和保存在哪里。例如,我将model作为一种从内部initialize初始化的方法保持在模型内部,然后通知(通过事件'fetched''loaded')专用视图,以便在成功获取之后呈现。此外,我在view之外保留了一些冗长的功能,并添加了模块返回。

在这些问题上是否存在已知的做法/模式?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-17 03:07:51

这是个不错的话题。我总是喜欢单独承担责任。当我需要与服务器同步或验证某些属性时,我总是通过模型进行同步,并从视图中的事件进行侦听。

// coffeescript中的示例

代码语言:javascript
复制
//Inside the Backbone Model     
saveContent:->
    @save({},
       success:=>
            // Post Data succeeded.
            @trigger "Succeeded"
       error:=>
            // Post Data error
            @trigger "Error"
      )


 //Inside BackboneView        
 model.on("Succeeded", @renderMsgSucceeded,@)
 model.on("Error", @renderMsgError,@)
 model.saveContent()

我真的相信这是,非常重要的是让数据逻辑保持在视图之外,数据是模型的响应性,他们必须知道这一点。

错误实现的示例

// BackboneView内部

代码语言:javascript
复制
saveContent:->
    @model.save({},
         success:=>
               @renderMsgSucceeded()                  
         error:=>
               @renderMsgError()                  
         )

很明显,您违反了单一责任原则,因为如果有一天您需要更改模型将数据发布到服务器的方式,则需要更改视图,这是毫无意义的。

我有一个博客(不幸的是用葡萄牙语写的,但我正在写一个英文版本),在那里我有一篇关于使用骨干的技巧的文章。可能是个不错的读物。

www.rcarvalhojs.com

票数 1
EN

Stack Overflow用户

发布于 2014-06-14 02:39:34

通过搜索诸如“主干模式”之类的术语,您可以在web上找到一些资源;例如:

  • http://ricostacruz.com/backbone-patterns/
  • http://www.backbonerails.com/

问题是,脊骨根本不是一个框架,它将所有的问题都留给开发人员去解决。不过,你列举的问题很重要。我发现解决这些问题的一个很好的方法是完成项目的一部分,然后看看你会做什么改变来更好地规划项目。没有“正确”的方式来组织你的项目。专注于生产一些东西,然后看看你如何用结构来改进你的产品。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24215701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档