这些存在吗?
多年来,我一直是大型强类型面向对象语言(Java和C#)的奴隶,并且是Martin Fowler及其同类的爱好者。由于JavaScript松散类型和函数式的特性,似乎不适合我所熟悉的惯用法。
组织JavaScript富客户端的最佳实践是什么?我对从代码存放的位置(一个文件或多个文件)到MVC模式、四人帮模式和分层的所有内容都感兴趣。
似乎不将东西放在全局命名空间中是唯一的共识。
我正在使用JQuery作为“扩展API”。
这些存在吗?
多年来,我一直是大型强类型面向对象语言(Java和C#)的奴隶,并且是Martin Fowler及其同类的爱好者。由于JavaScript松散类型和函数式的特性,似乎不适合我所熟悉的惯用法。
组织JavaScript富客户端的最佳实践是什么?我对从代码存放的位置(一个文件或多个文件)到MVC模式、四人帮模式和分层的所有内容都感兴趣。
似乎不将东西放在全局命名空间中是唯一的共识。
我正在使用JQuery作为“扩展API”。
我喜欢使用一种类似MVC的客户端架构。
通常,我会创建一个单例页面控制器类(如果需要的话还有支持类),来控制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);
});
我也应该在这里补充说明,你的MODEL在这种情况下是你的DTO(数据传输对象),它们被优化用于解决特定问题。这不是你的领域模型。
你可能想看一下Backbone.js,它为你构建模型类提供了一个良好的框架,用于表示应用程序中的数据并将其绑定到HTML UI。这比将数据与DOM绑定更可取。
更普遍地说,这里有一篇很棒的文章来自Opera开发博客,讲解JavaScript最佳实践。