国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

.NET三層結(jié)構(gòu)在高職院校畢業(yè)生職業(yè)發(fā)展跟蹤評(píng)價(jià)系統(tǒng)中的應(yīng)用

2014-07-24 12:30:22唐世毅
無(wú)線互聯(lián)科技 2014年5期

唐世毅

摘 要:在面向?qū)ο筌浖_發(fā)實(shí)踐中,越來(lái)越多的使用三層結(jié)構(gòu),結(jié)合《高職院校畢業(yè)生職業(yè)發(fā)展跟蹤評(píng)價(jià)系統(tǒng)》的開發(fā),本文介紹了.NET三層結(jié)構(gòu)的實(shí)現(xiàn)方法,并重點(diǎn)探討了.NET三層結(jié)構(gòu)的實(shí)現(xiàn)原理及三層結(jié)構(gòu)的具體好處。

關(guān)鍵詞:.NET;三層結(jié)構(gòu);實(shí)現(xiàn)原理;類型無(wú)關(guān);可維護(hù)性

.NET三層結(jié)構(gòu)是一種比較成熟的軟件開發(fā)架構(gòu),由于其適應(yīng)性廣、可維護(hù)性強(qiáng)、適合團(tuán)隊(duì)開發(fā)等優(yōu)勢(shì),在MIS類數(shù)據(jù)庫(kù)應(yīng)用程序中得到了廣泛的應(yīng)用。發(fā)展到Microsoft Visual Studio 2010開發(fā)平臺(tái),微軟公司進(jìn)一步實(shí)現(xiàn)了自動(dòng)化和集成處理,讓三層結(jié)構(gòu)的實(shí)現(xiàn)變得簡(jiǎn)單、高效。《高職院校畢業(yè)生職業(yè)發(fā)展跟蹤評(píng)價(jià)系統(tǒng)》的開發(fā)應(yīng)用了三層結(jié)構(gòu)的架構(gòu),下面介紹在開發(fā)中三層結(jié)構(gòu)的具體實(shí)現(xiàn)。

1 .NET三層結(jié)構(gòu)的實(shí)現(xiàn)步驟

首先在解決方案中創(chuàng)建網(wǎng)站,即Web項(xiàng)目;其次創(chuàng)建Model項(xiàng)目,模板選擇“類庫(kù)”,在Model項(xiàng)目中添加新建項(xiàng),模板選擇“ADO.NET實(shí)體數(shù)據(jù)模型”,然后根據(jù)已有的數(shù)據(jù)庫(kù)生成Model項(xiàng)目;最后創(chuàng)建BLL項(xiàng)目,模板選擇“類庫(kù)”。三層創(chuàng)建完成后,添加各層之間的依賴關(guān)系,通過(guò)“添加引用”來(lái)實(shí)現(xiàn),目的是可以順利的訪問(wèn)其它層的類,從而實(shí)現(xiàn)系統(tǒng)的功能。

2 .NET三層結(jié)構(gòu)的框架及模型:

前述步驟完成后,形成基本框架如圖1。三層結(jié)構(gòu)在本系統(tǒng)中的模型如圖2。

3 .NET三層結(jié)構(gòu)的實(shí)現(xiàn)原理

Model項(xiàng)目中生成了一個(gè)名為MISModel.edmx的文件,即把數(shù)據(jù)庫(kù)映射成實(shí)體對(duì)象的文件,打開MISModel.Designer.cs文件,主要分為“上下文”和“實(shí)體”兩部分,“上下文”部分聲明了最重要的一個(gè)實(shí)體類“MISEntities”,該類對(duì)目標(biāo)數(shù)據(jù)庫(kù)的方方面面作了詳細(xì)的描述,是連接Model項(xiàng)目與BLL項(xiàng)目最為重要的紐帶,也是實(shí)現(xiàn)三層結(jié)構(gòu)的關(guān)鍵之所在?!皩?shí)體”部分就是對(duì)目標(biāo)數(shù)據(jù)庫(kù)各個(gè)基本表格的映射,一張表格對(duì)應(yīng)一個(gè)實(shí)體類。

下面舉例說(shuō)明,三層結(jié)構(gòu)實(shí)現(xiàn)的關(guān)鍵技術(shù)

Web項(xiàng)目:

Default.aspx里一段代碼:

BLLUserManagement bllUser = new BLLUserManagement();

tblUsers aUser = bllUser.getAUsersByUserLoginName(TextBox1.Text.Trim());

BLL項(xiàng)目:

MISEntities misEntities = new MISEntities();

ObjectSet query = misEntities.CreateObjectSet();

ObjectSet query = misEntities.CreateObjectSet();

此處:misEntities.CreateObjectSet()方法泛型可以使用各種實(shí)體類,不同的實(shí)體類就會(huì)調(diào)用不同的方法來(lái)創(chuàng)建不同的對(duì)象集,也就是說(shuō),使用一種方法CreateObjectSet可以實(shí)現(xiàn)不同的功能,只是類型不同而已,這樣就達(dá)到了類型無(wú)關(guān)的目的,從而實(shí)現(xiàn)真正意義的分層,這種類似于多態(tài)的技術(shù)就是實(shí)現(xiàn)三層結(jié)構(gòu)的關(guān)鍵,當(dāng)然由于微軟公司的實(shí)體數(shù)據(jù)模型已經(jīng)實(shí)現(xiàn)了完全自動(dòng)化,所以工作量難度大大降低,工作量大大減少,提高了軟件生產(chǎn)效率。開發(fā)人員的精力主要集中在BLL項(xiàng)目與Web項(xiàng)目,一層主要實(shí)現(xiàn)功能邏輯,另一層主要實(shí)現(xiàn)交互界面。

Model項(xiàng)目:

public partial class MISEntities : ObjectContext

public partial class tblUsers : EntityObject

public partial class tblUserGroupPermission : EntityObject

4 .NET三層結(jié)構(gòu)的好處:

⑴如果軟件系統(tǒng)發(fā)生改變,如果只改變形式,不改變邏輯功能。⑵如果軟件系統(tǒng)發(fā)生改變,改變了邏輯功能。包括數(shù)據(jù)庫(kù)本身發(fā)生了改變,數(shù)據(jù)訪問(wèn)層可以自動(dòng)生成,工作量很??;業(yè)務(wù)邏輯層和表示層的改動(dòng)工作量并不大,整個(gè)工作并不繁瑣,最為關(guān)鍵的是,改動(dòng)的工作清晰、有序。⑶對(duì)于較大的軟件系統(tǒng),更能體現(xiàn)三層結(jié)構(gòu)的價(jià)值。每一層分工明確,每一層的人員專注于本層的工作,同時(shí)也能很好的協(xié)作。能實(shí)現(xiàn)的原因在于各層相對(duì)獨(dú)立,耦合度低,關(guān)鍵技術(shù)還是類型無(wú)關(guān)性。

[參考文獻(xiàn)]

[1]陳超.深入理解三層軟件架構(gòu)[J].福建電腦,2010(11):75-76.

[2]布什波.C#3.0設(shè)計(jì)模式[M].北京:機(jī)械工業(yè)出版社,2008:78-98.

[3]北大青鳥.在.NET框架下開發(fā)三層結(jié)構(gòu)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)[M].北京:科學(xué)技術(shù)文獻(xiàn)出版社,2008:11-61.

[4]岳付強(qiáng).三層架構(gòu)在學(xué)位論文管理系統(tǒng)中的應(yīng)用研究[J].西昌學(xué)院學(xué)報(bào)(自然科學(xué)版),2010(4):72-74.

[5]徐照興,劉武.基于B/S模式的高職畢業(yè)生就業(yè)數(shù)據(jù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2012(9):297-300.

江油市| 广南县| 宁晋县| 砀山县| 胶州市| 永春县| 墨玉县| 利川市| 望都县| 马山县| 迁安市| 广昌县| 青铜峡市| 无为县| 山东省| 共和县| 高清| 闵行区| 彭山县| 贵南县| 商都县| 喀喇沁旗| 湖北省| 怀集县| 商城县| 仙游县| 克拉玛依市| 秦皇岛市| 库车县| 开封县| 涿鹿县| 绵竹市| 济南市| 陇南市| 应城市| 喀喇| 溧水县| 罗江县| 旺苍县| 汉寿县| 信宜市|