内部招聘系统开发心得

花了一个星期的时间, 开发了一个"内部招聘系统" ,感觉有一点心得体会,特记录如下.

由于我开发是用三层模式开发,因此也按照三层模式来总体经验。


一、数据库设计
NO1
首先是一个数据库命名规范的问题, 在以前我没有规范命名的习惯,而现在这家公司特别注重命名规范,现在不得不认真的进行规范命名。现在明白了一点,就是命名规范不是一成不变的, 最重要的是掌握几个原则,其中一致性是重中之重, 为什么要规范命名,最重要的一点是让别人一看就知道是干嘛的。若命名时遵循了一致性,别人就可以立即猜出你命名的含义。另外,还学到了一些命名的方 法。这些方法可以在命名的时候参照如下:
为对象(如表/触发器/存储过程)命名时,可以加前缀,表(T_),视图(V_)等。

NO2
为每个表添加一个“ENABLED” 字段,用于标识该字段是否有用。
这个字段是很有用的,尤其对于管理系统来说, 因为经常会出现误删的情况,这样恢复数据就非常方便了。

NO3
关于DATATIME字段的选择。
这个字段类型,一般用于记录时间,如该操作在什么时候发生,而对于出生年月”/”有效期这种情况,用字符串来代替也不错, 但这样就忽略了数据完整性。

若采用DATATIME类型,则要注意前端的输入,在输入时,一定要进行验证,最好输入框加入一个日期控件(如梅花雪控件),这样最好不过。

NO4 关于多表连接的问题

在这次做项目的时候,经常遇到多表连接的错误,如由于多表连接,多出了记录。

一般情况下,多表连接不会出现问题,因为连接的表与被连接的表一般是多对一的关系,也就是不会出现记录重复的情况,但有些时候,若数据库设计不规范或其它情况,则会出现多出记录的情况,所以进行连接时,一定要左右思考。

那出现这种情况是不是就不能用连接了,应该有解决办法的,可以采用左连接还是右连接,这种情况就可以不产生多余的记录。

二、类库设计

NO1 实体类的生成

一般而言我采用实体类生成工具,由于该工具生成私有变量与成员属性,所以可以节约大量时间,尤其对于那些大量字段的表来说。

在这里将出一些不同的工具,有些工具将私有成员与对对应的属性写在一些,也有些工具不一样,而是写出成员变量,然后再写出属性,

我觉得第一种工具更好些, 因为以后添加成员与属性将更加方便。也不易出错。尤其对于大量字段的表来说。

NO2 关于类的构造方法的认识

以前,我一般不用构造方法,通过这个项目发现了一个用处,那就是初始化值,在添加记录或修改记录时,这点非常有用。

如在添加记录时,有些记录是不通过UI输入的,而是自动生成或是通过其它方法生成的,而添加的方法,这是通过传递对象的方法来实现,必须传表中的每一个字段过去,这样,对于这些不用输入的字段, 就必须给一些默认值,而这些默认值就可能能过构造函数来实现。

对于修改也同样有用。

NO3 关于获取表中所有记录方法的思考。

ASP.NET中经常会需要数据源,而数据源有多种格式,如DATASET/ARRAYLIST等等,因此必须为每个实体类中添加两种方法,分别获取这两种数据源。

NO4 关于添加/删除/修改方法

由于在添加/删除/修改时都是传递对象,所以添加/删除/修改都需要

两个方法,一个传入的参数是对象,而另一个方法则是真正用于进行增删改操作。

NO5 关于从数据库中读取字段,存取到ARRAYLIST的问题。

有时候从数据库中读取数据时,会出现数据为空的情况,这样进行赋值时,就会产生错误,对于字符型,不用处理,对于其它类型的字段就需要进行处理。另外,在设计数据库时,最好不要出现可空的字段,若存在可空的字段,也需要设置一个默认值。

NO6 关于测试实体类的方法

写一个测试类,其中的测试数据写在配置文件中,然后测试每个实体类中增删改。

测试工具可以采用NUNIT,进行单元测试。

这个过程非常重要,必须完成该步骤后再进行代码页面整合。

NO7 关于视图的使用

以前总以为视图没有什么用,现在觉得视图在展现数据时有些作用。

由于在数据展现时,总会出现多表连接,使的SQL语句很长,不便于修改,为了便于修改,应该将这些表现数据的SQL语句存储为视图,一来修改方便,二来可以使表示层与数据层分离。增强程序的独立性。

三、表示层

NO1 关于页面的设计

可以用DREAMWEAVER进行页面布局。在该软件中,“布局”模式非常实用,可以快速的规划出该页面的样式。

另外,CSS样式也非常重要,CSS样式可以从网上下载。

NO2 关于“留白”

在页面设计时,留白非常重要,这样可以使页面美观,留白可以通过多种方法实现,

一般采用表格来实现,通过修改表格的高度与宽度就可以修改留白的大小了。

NO3 关于“背景颜色”

有时候背景颜色也很重要,它可以使页面变得充实起来,当然“背景图片”效果可能更好。

NO4 页面设计可以在做完“需求分析”完成后立即进行,也就是说可以与程序设计同步进行。这样可以节约大量的时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值