- 0
- 0
- 约6.15千字
- 约 6页
- 2022-06-26 发布于上海
- 举报
用多层架构构建一个简易留言本
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));
// …..
dt.Columns[Id].AutoIncrement = true; dt.Columns[Id].AutoIncrementSeed = 0;
dt.Columns[Id].AutoIncrementStep = -1; dt.PrimaryKey = new DataColumn[] {dt.Columns[Id]} this.Tables.Add(dt);
}
AddedNewRow 属性返回一个新增进数据表的、空的 DataRow,用于给逻辑层填充。FillDataFormDataBase()的两个重载调用数据访问层的相应方法来填充一个新的 CMessageData 对象并返回。UpdateToDatabase 用于讲自身的数据更改更新回数据库。
public DataRow AddedNewRow()…
public static CMessageData FillDataFromDatabase(Int32 startRecord, Int32 maxRecord)… public static CMessageData FillDataFromDatabase(Int32 id) …
public void UpdateToDatabase()… 二、数据访问层(CDataAccess 类)
负责连接数据库,进行 SIUD(Select,Insert,Update,Delete)操作。数据连接信息放在AppParameters.xml 文件中。
FillMessageData()的两个重载创建新的 CMessageData 对象,填充数据,然后返回: public static CMessageData FillMessageData(Int32 startRecord, Int32 maxRecord) public static CMessageData FillMessageData(Int32 id)
UpdateMessageData()把参数中的CMessageData 对象所作出的更改更新回数据库: public static Int32 UpdateMessageDat
您可能关注的文档
最近下载
- 江苏南通2025-2026学年高一上学期期末模拟物理试卷+答案.pdf
- 深度解析(2026)《YY 0621.1-2016牙科学匹配性试验第1部分:金属-陶瓷体系》.pptx VIP
- 2025年武汉市黄陂区公开招聘工会协理员4人笔试参考题库附答案解析.docx VIP
- 人教版王朝霞六年级上册活页版第一单元测试数学.docx VIP
- 2022二级建造师《机电》章节练习5.25.docx VIP
- 专题二 冠词、数词.ppt VIP
- 2026年湖南司法警官职业学院单招职业技能考试模拟试题有答案解析.docx VIP
- 2022年高考真题——历史(江苏卷)+含解析 .pdf VIP
- 污水管道内衬修复施工方案.docx VIP
- 税务基础知识分享会培训PPT课件.pptx VIP
原创力文档

文档评论(0)