28-小结
6.8 小结
在本章,我们结束了Model的工作。我们系统地设计、详细说明、开发并测试了chat对象。和第5章一样,为加快开发效率,使用了Fake模块的模拟数据。然后更新了Chat功能模块,使用Model提供的chat和people对象的API。我们还创建了Avatar功能模块,它也使用了相同的 API。然后,讨论了使用 jQuery 的数据绑定。最后,添加了 Data模块,它使用Socket.IO和Node.js服务器进行通信。在第8章中,我们将设置服务器来和Data模块一起工作。在下一章,我们将学习Node.js。
注 释
[1]. 网络用语,常见于青少年游戏玩家,中文意思相当于“笑死我了!!!你被完爆了!”。有吹嘘自己很厉害的意思。——译者注
[2]. 现在是感谢宇宙苍生的好时机,因为没有jQuery 的话,生活不知道会有多么艰难。
[3]. 还有其他的策略,像是使用持久化的cookie 或者iframe,但坦白地讲,这些策略限制过多且令人费解,不值得考虑。
[7].分形(fractal),通常被定义为“一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状”,即具有自相似的性质。更多信息请参考:http://zh.wikipedia. org/wiki/分形。——译者注
[8]. 桩(stub)是一个故意没完成的或者是占位用的资源。比如,在第5 章,我们将创建一个桩数据模块,它会伪造与服务器通信的数据。
[10]. edge 模式,告诉IE使用最高可用的模式来显示内容。——译者注
[11]. 功能模块之间的通信应始终由Shell或者Model来协调。
[12].历史可靠的(history-safe)的意思是,所有的浏览器历史控件(像前进、后退、书签和浏览器历史)都按预期工作。
[14].虚线框里面的模块组,使用了共享的工具方法。比如,Chat、Avatar和Shell模块都使用了“浏览器端工具方法”和“基础工具方法”,而Data和Model模块只使用了“基础工具方法”。
[15].当显示用户输入的数据时,它们是很重要的阻止跨站脚本攻击(cross-site-scripting attacks)的方法。
[16].“提供和Model维护的人员列表进行交互的方法的对象”。——译者注
[18]. 这种事件机制的其他名字有推送通信(push communication),或者pub-sub(publish-subscribe(发布-订阅)的简称)。
[19].所有发布的事件名都有名字空间前缀(spa-)。这有助于避免和第三方 JavaScript 以及库的潜在冲突。
[20]. 在1.9.0之前的版本,原生的jQuery 就支持这个功能。前不久,他们在我们即将出版本书的时候,移除了这一方法,呃,当然,这只会使我们的生活变得更有意思。
[21]. 在公开发布站点之前,我们很可能会使用一个好看的“正在处理中”的图形动画,而不是使用文字。有很多网站免费提供可自定义的高质量图形动画。
[22]. “提供和即时通信进行交互的方法的对象”。——译者注
[23]. 听者(chatee),这里指的是用户与之聊天的那个人。——译者注
[24]. 作者在前文中提到过,本书开发的聊天应用示例是一个假想的会议系统。——译者注
[25]. DSL,即特定领域语言(domain-specific language)。与之相对的叫通用语言(general-purpose language)。——译者注