六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

信息系統(tǒng)的迅速開(kāi)發(fā)(3)數(shù)據(jù)信息的提取

[摘要]為了保持整個(gè)系統(tǒng)有足夠的擴(kuò)展和足夠的彈性(能夠滿(mǎn)足災(zāi)WebForm和WinForm中的使用,以及其他數(shù)據(jù)庫(kù)更新的來(lái)源,比如說(shuō)Office 2003中InfoPath,以及WebService等等),...
為了保持整個(gè)系統(tǒng)有足夠的擴(kuò)展和足夠的彈性(能夠滿(mǎn)足災(zāi)WebForm和WinForm中的使用,以及其他數(shù)據(jù)庫(kù)更新的來(lái)源,比如說(shuō)Office 2003中InfoPath,以及WebService等等),我將整個(gè)DBForm的構(gòu)架拆分為FormInfo類(lèi)和SqlBuilder兩個(gè)基類(lèi),下面分別描述FormInfo類(lèi)和SqlBuilder類(lèi)的作用以及申明



FormInfo主要負(fù)責(zé)整個(gè)數(shù)據(jù)庫(kù)Field信息的抓取,主要包括了以下兩個(gè)方法:

/// 添加將要進(jìn)行遍歷的容器、

public virtual void AppendContainer(object AContainer)

/// 添加單個(gè)控件

public virtual void AppendControl(object AControl)

/// 清除先前已經(jīng)配置好的Form信息

public void ClearFormInfo()

主要提供了兩個(gè)虛方法,一個(gè)公開(kāi)的ClearFormInfo方法,從方法名稱(chēng)上面的含義大家看得很清楚了,整個(gè)FormInfo可以根據(jù)容器和單獨(dú)的控件進(jìn)行添加,在這里,我有必要說(shuō)明一下我的DBForm架構(gòu)中針對(duì)Winform和WebForm的擴(kuò)展,因?yàn)橄旅娴腤inFormInfo類(lèi)和WebFormInfo類(lèi)分別繼承自FormInfo,實(shí)現(xiàn)WinForm和WebForm的信息提取

再WinFormInfo和WebFormInfo中,主要是一個(gè)針對(duì)Container的循環(huán),以及通過(guò)重寫(xiě)AppendContainer實(shí)現(xiàn)

/// 添加將要進(jìn)行遍歷的容器

public override void AppendContainer(object AContainer)

{

System.Web.UI.Control Container = (System.Web.UI.Control)AContainer;

foreach(Control AControl in Container.Controls)

{

this.DoAppendControl(AControl);

}

}

在下面的WebQueryForm和WebModifyForm中,就是實(shí)現(xiàn)具體的Form信息提取了。為什么要用這么多類(lèi)的繼承呢?我覺(jué)得這樣的視線,主要有以下幾點(diǎn)好處

1. FormInfo類(lèi)主要提供最公開(kāi)的接口,以及一些基礎(chǔ)的方法(提供了一個(gè)protected的方法,用于將分析出的Form信息填充入FormInfoEntity中(窗體信息的描述類(lèi))

2. WinFormInfo和WebFormInfo類(lèi)主要是把容器Object轉(zhuǎn)換成為具體的WinContrl和WebControl,并且調(diào)用相應(yīng)的控件信息解析器,實(shí)現(xiàn)數(shù)據(jù)的提取。

3. 接下來(lái)的ModifyFormInfo和QueryFormInfo主要就提供了控件的信息解析器具體實(shí)現(xiàn),根據(jù)具體的控件和具體的任務(wù)(Modify呢還是Query)分別解析出控件的信息,比如說(shuō)QueryFormInfo中需要加入相關(guān)操作符號(hào)的信息(LIKE,=等等)

下面是具體控件的添加操作

private void DoAppendControl(System.Web.UI.Control AControl)

{

if (AControl is SmisNet.WebControl.SmisDropDown)

{

this.DoAppendDropDownList(AControl as SmisNet.WebControl.SmisDropDown);

}

else if (AControl is System.Web.UI.WebControls.TextBox)

{

this.DoAppendTextBox(AControl as SmisNet.WebControl.SmisTextBox);

}

else if (AControl is System.Web.UI.WebControls.ListBox)

{

this.DoAppendListBox((System.Web.UI.WebControls.ListBox)AControl);

}

}

其實(shí)這部分代碼寫(xiě)得并不算優(yōu)美,包括DoAppendDropDownList等方法都寫(xiě)成了虛方法,有不少代碼的臭味到。其實(shí)不應(yīng)該這樣的,只是因?yàn)槲覀儸F(xiàn)在的工作比較簡(jiǎn)單(只有這三種窗體,不過(guò)我想包括了大多數(shù)信息系統(tǒng)開(kāi)發(fā)的情況)如果您使用了其他的控件,可以考慮修改AControl is xxx,然后天加上自己的控件的處理方法,F(xiàn)ormInfo就支持了新的控


主站蜘蛛池模板: 欧美一级做一a做片性视频 欧美一级做性受 | 婷婷久久综合 | 最近最新的日本中文字幕 | 欧美性视频一区二区三区 | 水蜜桃一区一区三全集 | 青青国产成人久久91网站站 | 青青草原国产在线视频 | 亚洲视频污 | 亚洲人成网址在线观看 | 日韩精品成人免费观看 | 天天操天天干天天拍 | 日韩一级高清 | 中文字幕亚洲日本岛国片 | 日本中文视频 | 在线观看免费黄视频 | 泄欲网站免费观看 | 日韩 欧美 综合 在线 制服 | 青青草精品视频 | 四虎4hu永久免费国产精品 | 天堂视频网站 | 日韩国产免费一区二区三区 | 午夜私人影院粉色视频我要 | 伊人狠狠色丁香婷婷综合下载 | 一级久久 | 亚洲成a人片在线观看播放 亚洲成a人片在线观看www | 四虎成人影院网址 | 日本一区二区三区免费高清在线 | 日本污全彩肉肉无遮挡彩色 | 日本免费观看网站 | 一区二区三区福利 | 伊香蕉大综综综合久久 | 窝窝午夜色视频国产精品东北 | 日本中文字幕在线观看 | 四虎在线最新永久免费播放 | 婷婷在线网 | 在线观看aaa | 视频日韩p影院永久免费 | 中文字幕国产 | 青青青爽视频在线观看入口 | 日韩美女在线 | 色护士综合 |