大型Ajax应用程序设计模式

时间:2012-04-26 23:05:04

标签: ajax asp.net-mvc design-patterns

我目前在ASP.NET MVC 3,PHP + Cake和Java Spring中编写C#Web应用程序方面非常不错。使用这三个,我对创建分层数据,域,服务和演示应用程序感到很自在。我可以很好地组织它们。

但需要高度响应的AJAX。使用jQuery将每个小模型回发挂钩到控制器,我感到很不舒服。

是否有任何MVC(Controller + View + View Model + JavaScript)设计模式?我最近开始阅读有关Knockout JS和Backbone.js的内容,但似乎并不真正理解“架构”这些大字及其带来的好处,更不用说健康的设计模式了。

是否有任何好的教程或示例可以演示Google Docs / Calendar / Mail等高级JavaScript应用程序或Compilr之类的东西?

2 个答案:

答案 0 :(得分:2)

javascript中有很多MVC实现。

坦率地说,ajax开发越多,就越明显不仅需要服务器端模板,模型,视图,控制器等,你在javascript方面也需要这样的东西,特别是在很多时候关于dom操纵的问题。

以下是常用框架的列表: http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/

但是,请注意,很多这些已经向node.js模型发展(其中客户端和服务器端都使用javascript语法。

使用C#或asp.net等进行开发时,最好将该部分体系结构规划为服务层。然后你将很多模板责任推到了静态文件和javascript中,当你进行扩展时,这绝对是你想要的。

然后,你将再次遇到很多意识形态问题,你只需自己决定。

答案 1 :(得分:2)

如果您正在进行严肃的JS开发,除了MVC之外还有许多需要考虑的问题。

  • 构建解决方案
  • 创建模块层次结构
  • JS文件的依赖关系管理
  • 基于事件的消息传递,用于解耦通信
  • 路由,书籍标记和可嵌入组件
  • 单元测试
  • 本地化
  • 文档生成
  • JS优化和混淆

经过几个复杂的JS项目,我想分享我在构建复杂应用程序方面的经验,以便创建BoilerplateJS。 BoilerplateJS是用于大规模开发的参考架构,其解决了上述问题。

http://boilerplatejs.org/

BoilerplateJS允许您将复杂的产品套件构建到产品模块和UI组件中。在参考架构代码库中实现了几个示例。