9

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

4

2 回答 2

1

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

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

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

于 2009-03-10T14:15:11.037 回答
0

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

于 2009-03-11T06:22:07.110 回答