这些存在吗?
我多年来一直是大型强类型OO语言(Java& C#)的奴隶,并且是Martin Fowler之流的奉献者。 Javascript,由于它的松散类型和功能性似乎不适合我习惯的习语。
组织javascript富客户端的最佳做法是什么?我感兴趣的是从哪里保存你的代码(一个文件或多个文件)到MVC模式到四个模式到分层。
不在Global名称空间中放置东西似乎是唯一的共识。
我使用JQuery作为“扩展API”。
答案 0 :(得分:18)
我喜欢使用某种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);
});
我还应该补充一点,在这种情况下,你的模型是你的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