基于.NET平臺(tái)的分層架構(gòu)實(shí)戰(zhàn)(四)實(shí)體類的設(shè)計(jì)與實(shí)現(xiàn)_.Net教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:基于.NET平臺(tái)的分層架構(gòu)實(shí)戰(zhàn)(三)架構(gòu)概要設(shè)計(jì)本文主要是對(duì)將要實(shí)現(xiàn)的架構(gòu)進(jìn)行一個(gè)總體的描述,使朋友們對(duì)這個(gè)架構(gòu)有個(gè)宏觀上的認(rèn)識(shí)。這篇文章理論性的東西會(huì)偏多一點(diǎn),從下篇開始,將進(jìn)行實(shí)際項(xiàng)目的開發(fā)。這篇文章的許多內(nèi)容摘自我的畢業(yè)論
實(shí)體類是現(xiàn)實(shí)實(shí)體在計(jì)算機(jī)中的表示。它貫穿于整個(gè)架構(gòu),負(fù)擔(dān)著在各層次及模塊間傳遞數(shù)據(jù)的職責(zé)。一般來說,實(shí)體類可以分為“貧血實(shí)體類”和“充血實(shí)體類”,前者僅僅保存實(shí)體的屬性,而后者還包含一些實(shí)體間的關(guān)系與邏輯。我們?cè)谶@個(gè)Demo中用的實(shí)體類將是“貧血實(shí)體類”。大多情況下,實(shí)體類和數(shù)據(jù)庫(kù)中的表(這里指實(shí)體表,不包括表示多對(duì)多對(duì)應(yīng)的關(guān)系表)是一一對(duì)應(yīng)的,但這并不是一個(gè)限制,在復(fù)雜的數(shù)據(jù)庫(kù)設(shè)計(jì)中,有可能出現(xiàn)一個(gè)實(shí)體類對(duì)應(yīng)多個(gè)表,或者交叉對(duì)應(yīng)的情況。在本文的Demo中,實(shí)體類和表是一一對(duì)應(yīng)的,并且實(shí)體類中的屬性和表中的字段也是對(duì)應(yīng)的。
在看實(shí)體類的代碼前,先看一下系統(tǒng)的工程結(jié)構(gòu)。
如上圖所示,在初始階段,整個(gè)系統(tǒng)包括6個(gè)工程,它們的職責(zé)是這樣的:
Web——表示層
Entity——存放實(shí)體類
Factory——存放和依賴注入及IoC相關(guān)的類
IBLL——存放業(yè)務(wù)邏輯層接口族
IDAL——存放數(shù)據(jù)訪問層接口族
Utility——存放各種工具類及輔助類
這只是一個(gè)初期架構(gòu),主要是將整個(gè)系統(tǒng)搭一個(gè)框架,在后續(xù)開發(fā)中,將會(huì)有其他工程被陸陸續(xù)續(xù)添加進(jìn)來。
我們的實(shí)體類將放在Entity工程下,這里包括三個(gè)文件:AdminInfo.cs,MessageInfo.cs,CommentInfo.cs,分別是管理員實(shí)體類、留言實(shí)體類和評(píng)論實(shí)體類。具體代碼如下:
AdminInfo.cs:
AdminInfo
1using System;
2
3namespace NGuestBook.Entity
4{
5 /**//// <summary>
6 /// 實(shí)體類-管理員
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 /// 實(shí)體類-留言
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 /// 實(shí)體類-評(píng)論
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
大家可以看出,實(shí)體類的代碼很簡(jiǎn)單,僅僅是負(fù)責(zé)實(shí)體的表示和數(shù)據(jù)的傳遞,不包含任何邏輯性內(nèi)容。
分享:基于.NET平臺(tái)的分層架構(gòu)實(shí)戰(zhàn)(二)需求分析與數(shù)據(jù)庫(kù)設(shè)計(jì)在實(shí)際的項(xiàng)目中,需求分析和數(shù)據(jù)庫(kù)的設(shè)計(jì)是很重要的一個(gè)環(huán)節(jié),這個(gè)環(huán)節(jié)會(huì)直接影響項(xiàng)目的開發(fā)過程和質(zhì)量。實(shí)際中,這個(gè)環(huán)節(jié)不但需要系統(tǒng)分析師、軟件工程師等計(jì)算機(jī)方面的專家,還需要相關(guān)領(lǐng)域的
相關(guān).Net教程:
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過程實(shí)現(xiàn)分頁示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- 如何使用.Net C#開發(fā)批量ACCESS數(shù)據(jù)庫(kù)壓縮軟件
- 如何實(shí)現(xiàn)在窗體和窗體之間進(jìn)行傳遞數(shù)據(jù)
- 淺析.Net平臺(tái)下開發(fā)中文語音應(yīng)用程序
- .NET圖像界面按鈕的clicked事件淺談
- asp.net中文件下載功能的實(shí)例代碼
- 談Asp.net多層架構(gòu)中的變量引用與傳遞
- 注意ADO.NET中容易混淆的概念
- Attribute高級(jí)應(yīng)用:簡(jiǎn)化ANF自定義控件初始化過程
- 用ASP.Net實(shí)現(xiàn)在線壓縮和解壓縮
- ASP.NET如何改變checkboxlist選中項(xiàng)字體顏色
- 相關(guān)鏈接:
復(fù)制本頁鏈接| 搜索基于.NET平臺(tái)的分層架構(gòu)實(shí)戰(zhàn)(四)實(shí)體類的設(shè)計(jì)與實(shí)現(xiàn)
- 教程說明:
.Net教程-基于.NET平臺(tái)的分層架構(gòu)實(shí)戰(zhàn)(四)實(shí)體類的設(shè)計(jì)與實(shí)現(xiàn)
。