chapter 3
模式设计是用来描述程序是如何解决一切一般问题的。其实许多问题,已经存在解决方案了使用已存在的设计模式来解决问题是会减少很多开发时间的。
Ajax也存在许多的设计模式去解决特定的问题。例如是hidden frame技术,异步XMLHttp请求,这些利用Javascript在客户端和服务器之间的通信模式。 Michael Mahemoff记录过这些模式,他的GITHub
主页。
每一个设计模式都不是固定地简单套用,这也是由开发人员自己集中各个模式而设计出合适的方案对应自己的应用功能。
通信控制模式:利用Javascript可以和server通信,问题是,什么时候是客户端向服务器发出请求的最好时候呢?在一些情况下,从服务器预加载信息,可以在用户操作的时候立即提供给用户。在其他情况下,你可能想再一定时间间隔内向服务器发送和接受数据。又或者,不是所有东西一次性加载,而是按照一定的顺序加载。Ajax提供了一个很好的间隔尺度,控制服务器和客户端的通信从而获得你想要的效果。
可预测性数据获取模式:假设用户的下一步操作,利用Ajax进行数据的预加载,例如用户在阅读一篇3页的文章,当用户阅读第一页的时候,可以间隔几秒后,加载第二页,这样用户在按下第二页的时候,就可以马上提供数据。另一个例子,邮箱,当用户写邮件的时候,可以预加载用户通讯录,在用户键入地址时提过提示信息,邮箱系统Gmail和AOL Webmail都使用这中模式。使用这种模式时,有逻辑的预测,提供的信息是可以帮助到用户完成下一步动作的。