kaneboy@163.net
ASP.NET终于可以让Web开发人员从ASP的面条代码中脱身出来,以全新的方式来构建Web站点,就像Windows Application一样,我们同样可以用面向对象的、多层的方式来组织和构建Web Application。
下面给出的是一个功能非常简单的留言本程序,旨在揭示ASP.NET强大的能力和全新的开发方式。如果只相对留言本程序本身而言,大家可能怀疑用这么多的气力实现如此简单的程序是否值得,但我说过,例子只是用来说明问题和描述解决方案。其实我认为,从维护和扩充的角度来说,即使再简单的程序,从一开始就进行良好的设计也是非常值得的。
留言本采用多层的方式来构建,下面的介绍为了方便大家理解,并未按照层次的顺序介绍:
一、数据实体(CMessageData类)
CMessageData派生自DataSet,用来维护留言数据,在构造函数中,调用CreateDataTables()来增加一个用来保存留言数据的DataTable,并加到自身的DataTable集合中。静态属性TableMapping用来描述这个DataTable的DataColumn和数据库中物理字段的映射关系,数据访问层将使用这个属性来填充数据进CMessageData对象中。
public class CMessageData : DataSet {
public CMessageData() {
this.CreateDataTables();
}
public static DataTableMapping TableMapping {
get {
DataTableMapping result = new DataTableMapping("t_gbook_postinfo", "MessageTable");
result.ColumnMappings.Add("id", "Id");
result.ColumnMappings.Add("last_reply_time", "LastReplyTime");
//…..
return result;
}
}
private void CreateDataTables() {
DataTable dt = new DataTable("MessageTable");
dt.Columns.Add("Id", typeof(Int32));
dt.Columns.Add("LastReplyTime", typeof(DateTime));