模式 + GWT + Ajax = 易用性
2009-09-12 00:00:00 来源:WEB开发网模式
什么是模式 ?在软件工程中,模式代表对于常见问题可以广泛应用的概括性解决方案。它不是直接解决方案,而是一个 “路径”,实现的细节要由程序员提供。模式提供一种经过测试、已经证明有效的方案,有助于更快地开发软件。
模式最初是作为一个建筑学概念出现的,常常与建筑进行类比。举一个经常被引用的例子:窗子 是一个让阳光能够照进房间的解决方案,但是它没有指定窗子的具体形状或风格。对于一个问题,可能有多个模式(天窗或开放式天井也可以解决采光问题),要由设计师决定应用哪个模式。本文讨论几个性能问题,提供适合 GWT 的解决方案,您可以在自己的网站上使用它们。
测试数据库
我使用一个简单的数据库(见清单 1),其中包含世界上的国家、地区和城市信息。我需要一个足够大的表和开放的数据库(见边栏 “构建大型测试数据库”),大约包含三百万条记录,才能满足我的需要。对于后面的示例,请注意:
国家 由一个编码标识(比如 US 代表美国),还有一个名称。
国家包含地区,地区由一个编码标识(编码常常是数字的,在这个国家内是惟一的),还有一个名称。
城市 属于某一国家的某一地区,城市信息包括(纯 ASCII)名称、带重音符的名称(可能包含外文字符)、人口数(如果人口数未知,就是 0)、纬度和经度。城市名称在这个国家的这个地区内是惟一的;仅在美国就有大约 30 多个名为 Springfield 的城市!
清单 1. 数据库创建代码
CREATE DATABASE world
DEFAULT CHARACTER SET latin1
COLLATE latin1_general_ci;
USE world;
CREATE TABLE countries (
countryCode char(2) NOT NULL,
countryName varchar(50) NOT NULL,
PRIMARY KEY (countryCode)
KEY countryName (countryName)
);
CREATE TABLE regions (
countryCode char(2) NOT NULL,
regionCode char(2) NOT NULL,
regionName varchar(50) NOT NULL,
PRIMARY KEY (countryCode,regionCode),
KEY regionName (regionName)
);
CREATE TABLE cities (
countryCode char(2) NOT NULL,
cityName varchar(50) NOT NULL,
cityAccentedName varchar(50) NOT NULL,
regionCode char(2) NOT NULL,
population bigint(20) NOT NULL,
latitude float(10,7) NOT NULL,
longitude float(10,7) NOT NULL,
KEY `INDEX` (countryCode,regionCode,cityName),
KEY cityName (cityName),
KEY cityAccentedName (cityAccentedName)
);
- ››模式作用域:初级读本和最佳实践
- ››ajax调用后台页面怎样区别ID
- ››Ajax+jQuery实现LightBox与服务器通信
- ››AJAX中利用javascript的split函数处理responseTex...
- ››AjaXplorer 2.6.1 发布,远程文件管理
- ››AJAX + SVG 实现实时监控图表
- ››AJAX 及使用 E4X 编写 Web 服务脚本,第 2 部分:...
- ››AJAX也有安全隐患 谈谈AJAX的安全性
- ››ajax+asp.net+mssql无刷新聊天室
- ››AJAX中文问题[转]
- ››ajax如何将返回值赋值给js里面的变量们?
- ››ajax 在updatepanel中使用alert提示方法
更多精彩
赞助商链接