如何设计图书馆?

时间:2009-12-27 19:51:52

标签: javascript design-patterns javascript-framework

我们刚刚开始新的任务 - 基于网络的项目。在我直接回答这个问题之前,有必要解释一下这个项目。

我们实际上正在将产品从桌面移动到网络。就是这个。所有后端服务都是Web服务。我们选择的服务器技术将是.NET。因为我们对它很好,而且客户也配备了它。因此,我们将在ASP.NET AJAX中完成所有服务器工作。 PageMethod将是与服务器(C#3.0)和客户端(JavaScipt)通信的首选。需要jQuery来解析DOM和XML解析。我们不会努力重新发明轮子。

现在,有些事情我们必须做,而且大多数都是在JavaScript中。我们想把它打包成一个。

电子。 John在'Building a JavaScript Library'上做了一个非常有用的会话,非常有用。它肯定会以这种方式保持。

这里有相当多的JavaScript工程师。在我们重新开始之前,我想提出他们的建议和建议。

您是否对JavaScript库设计有一些很好的参考?如果你们每个人都创建了自己的JS库,那么你从中学到了什么?你看过gmail / googledocs / facebook JavaScript吗?你从中学到了什么?

感谢。

3 个答案:

答案 0 :(得分:2)

从这样的事情开始:

var yourNamespace = yourNamespace || (function () {
    "use strict";
    // private variables here
    return {{whatever you want yourNamespace to be here}};
}());

答案 1 :(得分:1)

设计一个javascript库 -

  1. 确定您经常写的功能。
  2. 将它们保存在单独的.js文件中。
  3. 将日志或注释块保留在最顶层 开发版本和 更新以反映内容 文件。
  4. 完成。

答案 2 :(得分:0)

  1. 使用webservice连接到db并执行查询..

  2. 使用jquery.ajax方法在此文件调用Web服务中创建SERVICE.JS

  3. 创建一个DESIGN.JS,在这个文件中做关于用户界面的每一个(onclick,初始化,填充网格,组合等)

  4. 创建一个GLOBAL.JS,在此文件中创建全局变量以供各处使用(例如:UserId)

  5. 创建一个HELPER.JS,在此文件中创建有用的函数以供任何地方使用(例如:函数DATE_TO_STRING(_date))

  6. 在此所有.JS文件中使用GLOBAL.JS的命名空间示例:

    (function () {
    var GLOBAL = {
    
      CurrentUserId:-1
    }
    
    if (!window.GLOBAL) { window.GLOBAL = GLOBAL; }
    

    })();

  7. 不要使用ASP.NET组件。使用html输入,textarea等