【问题标题】:Design patterns used in Gmail's JavaScript?Gmail 的 JavaScript 中使用的设计模式?
【发布时间】:2009-03-10 13:15:25
【问题描述】:

谁能告诉我在构建 Gmail 时使用了哪些设计模式(如果有)?我理解它背后的概念 - 排队一些请求,在每个完成时增加栏,在所有内容都关闭时初始化显示 - 但我特别感兴趣是否有可以用来模仿这些功能的特定设计模式。

【问题讨论】:

    标签: javascript design-patterns oop gmail


    【解决方案1】:

    我遇到了类似的问题,并像这样解决了它:数据预加载通过向服务器发送异步请求来工作。当进度条可见时,我为每个请求增加一个计数器。进度条的大小 == 计数器。由于请求发送速度很快,用户永远不会注意到进度条的最大值发生了变化。

    随着请求回答的到来,我每次都会推进进度条一次。就是这样。当最后一个请求到达时,预加载完成。

    当回复很小且连续快速到达时,这看起来会更好,但它适用于所有情况。

    【讨论】:

    • 谢谢;我了解通过多个 ajax 调用聚合数据背后的概念。我更感兴趣的是,是否有可以进一步研究的模式的“名称”。
    • 如果您使用 AJAX,则无需注意等待
    • @Phillip:我不确定它有一个独特的名称。我称之为“性能优化”。
    • @xgoan:我说:“使用 AJAX,您可以意识到等待。”当我知道我的应用程序将在很长一段时间内很忙时,我会使用它们告诉用户我的应用程序很忙。
    【解决方案2】:

    我成功使用的一个技巧是preload Ajax data as JSON:作为初始页面加载的一部分,我将有用的种子数据作为内联 JavaScript 发送。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多