┆ 来源:网络 ┆ 作者:admin ┆ 发表时间:2008-6-23 |
实体类是现实实体在计算机中的表示。它贯穿于整个架构,负担着在各层次及模块间传递数据的职责。一般来说,实体类可以分为“贫血实体类”和“充血实体类”,前者仅仅保存实体的属性,而后者还包含一些实体间的关系与逻辑。我们在这个demo中用的实体类将是“贫血实体类”。 大多情况下,实体类和数据库中的表(这里指实体表,不包括表示多对多对应的关系表)是一一对应的,但这并不是一个限制,在复杂的数据库设计中,有可能出现一个实体类对应多个表,或者交叉对应的情况。在本文的demo中,实体类和表是一一对应的,并且实体类中的属性和表中的字段也是对应的。 在看实体类的代码前,先看一下系统的工程结构。 如上图所示,在初始阶段,整个系统包括6个工程,它们的职责是这样的: web——表示层 entity——存放实体类 factory——存放和依赖注入及ioc相关的类 ibll——存放业务逻辑层接口族 idal——存放数据访问层接口族 utility——存放各种工具类及辅助类 这只是一个初期架构,主要是将整个系统搭一个框架,在后续开发中,将会有其他工程被陆陆续续添加进来。 我们的实体类将放在entity工程下,这里包括三个文件:admininfo.cs,messageinfo.cs,commentinfo.cs,分别是管理员实体类、留言实体类和评论实体类。具体代码如下: admininfo.cs: admininfo 1using system; 2 3namespace nguestbook.entity 4{ 5 /**//// <summary> 6 /// 实体类-管理员 7 /// </summary> 8 [serializable] 9 public class admininfo 10 { 11 private int id; 12 private string name; 13 private string password; 14 15 public int id 16 { 17 get { return this.id; } 18 set { this.id = value; } 19 } 20 21 public string name 22 { 23 get { return this.name; } 24 set { this.name = value; } 25 } 26 27 public string password 28 { 29 get { return this.password; } 30 set { this.password = value; } 31 } 32 } 33} 34 messageinfo.cs: messageinfo 1using system; 2 3namespace nguestbook.entity 4{ 5 /**//// <summary> 6 /// 实体类-留言 7 /// </summary> 8 [serializable] 9 public class messageinfo 10 { 11 private int id; 12 private string guestname; 13 private string guestemail; 14 private string content; 15 private datetime time; 16 private string reply; 17 private string ispass; 18 19 public int id 20 { 21 get { return this.id; } 22 set { this.id = value; } 23 } 24 25 public string guestname 26 { 27 get { return this.guestname; } 28 set { this.guestname = value; } 29 } 30 31 public string guestemail 32 { 33 get { return this.guestemail; } 34 set { this.guestemail = value; } 35 } 36 37 public string content 38 { 39 get { return this.content; } 40 set { this.content = value; } 41 } 42 43 public datetime time 44 { 45 get { return this.time; } 46 set { this.time = value; } 47 } 48 49 public string reply 50 { 51 get { return this.reply; } 52 set { this.reply = value; } 53 } 54 55 public string ispass 56 { 57 get { return this.ispass; } 58 set { this.ispass = value; } 59 } 60 } 61} 62 commentinfo.cs: commentinfo 1using system; 2 3namespace nguestbook.entity 4{ 5 /**//// <summary> 6 /// 实体类-评论 7 /// </summary> 8 [serializable] 9 public class commentinfo 10 { 11 private int id; 12 private string content; 13 private datetime time; 14 private int message; 15 16 public int id 17 { 18 get { return this.id; } 19 set { this.id = value; } 20 } 21 22 public string content 23 { 24 get { return this.content; } 25 set { this.content = value; } 26 } 27 28 public datetime time 29 { 30 get { return this.time; } 31 set { this.time = value; } 32 } 33 34 public int message 35 { 36 get { return this.message; } 37 set { this.message = value; } 38 } 39 } 40} 41 大家可以看出,实体类的代码很简单,仅仅是负责实体的表示和数据的传递,不包含任何逻辑性内容。 |
网友留言 暂无留言! |