1.页面展现层
1.每个input输入框都必须设置maxlength。texaArea没有maxlength这个属性,所以必须使用js来控制用户输入的长度。
2.对于数据显示列表,必须定义每列的宽度,必须强制截取每列的长度,在TITLE显示每列的全部数据。
3.必须在用户指定的分辨率下进行测试,如1024*768。
4.尽量在firefox下做测试,这样能尽量兼容各个浏览器。
5.页面上的地址原则上写绝对路径。
6.空间和窗口的大小,尽量使用百分比,而不是像素点。以避免在不同分辨率下界面错位的问题。
7.对于表格的各列,根据显示的内容,固定该列的宽度。
2.业务逻辑层
2.1 在获得数据和编辑数据的时候,必须先检查当前数据是否存在,如果不存在,则提示用户。
2.2 原则上调用service层,不直接调用DAO层。
2.3 输出数据格式与平台无关,如: 输出JSON的数据格式,这样页面展现层无论是用jsp,swing,flex开发都能使用这些数据。
3.服务展现层
3.1 对于多条数据库更新操作,使用事务处理。单条数据更新操作不做事务处理。
3.2 对传入的参数,进行验证,抛出参数异常。
3.3 抛出用户友好异常。如 当前用户已经存在。
3.4 尽量抛出uncheck异常,不推荐抛出check异常。
4.数据访问层
4.1 不涉及任何业务逻辑,只关心数据的操作。如:
不应该提供查询已办任务的方法,应该是通过任务状态进行查询
1.每个input输入框都必须设置maxlength。texaArea没有maxlength这个属性,所以必须使用js来控制用户输入的长度。
2.对于数据显示列表,必须定义每列的宽度,必须强制截取每列的长度,在TITLE显示每列的全部数据。
3.必须在用户指定的分辨率下进行测试,如1024*768。
4.尽量在firefox下做测试,这样能尽量兼容各个浏览器。
5.页面上的地址原则上写绝对路径。
6.空间和窗口的大小,尽量使用百分比,而不是像素点。以避免在不同分辨率下界面错位的问题。
7.对于表格的各列,根据显示的内容,固定该列的宽度。
2.业务逻辑层
2.1 在获得数据和编辑数据的时候,必须先检查当前数据是否存在,如果不存在,则提示用户。
2.2 原则上调用service层,不直接调用DAO层。
2.3 输出数据格式与平台无关,如: 输出JSON的数据格式,这样页面展现层无论是用jsp,swing,flex开发都能使用这些数据。
3.服务展现层
3.1 对于多条数据库更新操作,使用事务处理。单条数据更新操作不做事务处理。
3.2 对传入的参数,进行验证,抛出参数异常。
3.3 抛出用户友好异常。如 当前用户已经存在。
3.4 尽量抛出uncheck异常,不推荐抛出check异常。
4.数据访问层
4.1 不涉及任何业务逻辑,只关心数据的操作。如:
不应该提供查询已办任务的方法,应该是通过任务状态进行查询