Javascript架构/应用程序结构最佳实践?

时间:2011-03-23 02:17:21

标签: javascript jquery architecture design-patterns

这些存在吗?

我多年来一直是大型强类型OO语言(Java& C#)的奴隶,并且是Martin Fowler之流的奉献者。 Javascript,由于它的松散类型和功能性似乎不适合我习惯的习语。

组织javascript富客户端的最佳做法是什么?我感兴趣的是从哪里保存你的代码(一个文件或多个文件)到MVC模式到四个模式到分层。

不在Global名称空间中放置东西似乎是唯一的共识。

我使用JQuery作为“扩展API”。

3 个答案:

答案 0 :(得分:18)

我喜欢使用某种MVC客户端架构。

  • 我有一页CONTROLLER
  • DOM是我的视图
  • 服务器是我的MODEL

通常我会创建一个控制ajax调用和视图绑定的单例页面控制器类(需要关闭支持类)。

var pageXController = {
  init: function(param) {
    pageXController.wireEvents();
    // something else can go here
  },

  wireEvents : function() {
    // Wire up page events
  }

  // Reactive methods from page events
  // Callbacks, etc
  methodX : function() {}
}

$(document).ready( function() {
  // gather params from querystring, server injection, etc
  pageXController.init(someparams);
});

我还应该补充一点,在这种情况下,你的模型是你的DTO(数据传输对象),它们针对他们解决的问题进行了优化。这不是您的域名模型。

答案 1 :(得分:5)

您可能想要研究的一件事是Backbone.js,它为您提供了一个很好的框架,用于构建Model类来表示应用程序中的数据并将它们绑定到HTML UI。这是将数据绑定到DOM的首选。

更一般地说,这是一篇关于Opera开发博客JavaScript best practices的精彩文章。

答案 2 :(得分:5)

如果我们谈论的是javascript应用程序架构,那么Nicholas Zakas 2011播客必须看到:   Nicholas Zakas: Scalable JavaScript Application Architecture

Addy Osmani的在线参考:      Patterns For Large-Scale JavaScript Application Architecture