




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實(shí)體物流論文范文:探討三層結(jié)構(gòu)數(shù)據(jù)庫在物流管理信息系統(tǒng)設(shè)計中的應(yīng)用與實(shí)現(xiàn)word版下載導(dǎo)讀:本論文是一篇關(guān)于三層結(jié)構(gòu)數(shù)據(jù)庫在物流管理信息系統(tǒng)設(shè)計中 的應(yīng)用與實(shí)現(xiàn)的優(yōu)秀論文范文,對正在寫有關(guān)于實(shí)體論文的寫作者有 一定的參考和指導(dǎo)作用,論文片段:namespacewlmodels publicclassaccount ttrcgionprotcctcdmcmbcrsprotectedstringaccountname二siring. empty;protectedstringaccountpassword-string. empty;protectedintempld;protectedstrin
2、gaccountrole=string empty ;ttendregion#rcgionpublicmcthods摘要:本文首先對三層結(jié)構(gòu)數(shù)據(jù)庫技術(shù)的特點(diǎn)和優(yōu)勢進(jìn)行了說明, 然后就物流管理信息系統(tǒng)的設(shè)計給出了三層結(jié)構(gòu)數(shù)據(jù)庫實(shí)現(xiàn)的解決 方案。關(guān)鍵詞:三層結(jié)構(gòu);數(shù)據(jù)庫;物流管理;信息系統(tǒng)1007-9599 (2011) 14-0000-03three-tier structure database appliactions and implementation in the logistics management information system designliu wendong(lia
3、oning police and justice managementinstitute, shenyangl10161, china)abstract:this article first thrcc-ticr architecture of database technology features and advantages are described, then the ogistics management information system design gives the three-tier structure of the database to achieve a sol
4、ution.keywords:three-tierstructure;database;logisticsmanagement;information system在傳統(tǒng)的數(shù)據(jù)庫訪問應(yīng)用程序中,往往把操作數(shù)據(jù)庫的代碼與 界面代碼混合在一起,一旦數(shù)據(jù)庫發(fā)生哪怕是一點(diǎn)細(xì)微的變化,都需 要更改和重新部署整個程序,代碼改動量是相當(dāng)巨大的;而當(dāng)需要更 改用戶界面時,因?yàn)榇a的混雜,改動工作量也是非常巨大的;而不 論上面的何種理由,更改混雜的代碼都會帶來巨大的風(fēng)險。另外,在多人協(xié)作開發(fā)的過程中,由于數(shù)據(jù)庫訪問代碼和界面 代碼的混雜,要求開發(fā)人員具有更高的能力,例如,負(fù)責(zé)用戶界面設(shè) 計的工程師必須對美工,業(yè)
5、務(wù)邏輯、數(shù)據(jù)庫訪問各方面知識都非常了 解。那么,能不能把界面開發(fā)和數(shù)據(jù)庫訪問分開,使對某一項(xiàng)的更改 不會影響其他的部分呢?一、三層結(jié)構(gòu)數(shù)據(jù)庫應(yīng)用系統(tǒng)為了解決上述理由,我們可以將不同功能的代碼放到不同層的 項(xiàng)目中去,例如,用戶界面層的項(xiàng)目只放涉及用戶界面功能的代碼, 不放業(yè)務(wù)邏輯和數(shù)據(jù)庫訪問的代碼,這兩部分代碼分別放到其他層的 項(xiàng)目中,由于代碼被分離到不同的項(xiàng)目中了,當(dāng)系統(tǒng)需要變更時,只 需要更改相關(guān)的項(xiàng)冃,而其他部分的代碼因?yàn)榉庋b在單獨(dú)的項(xiàng)目中, 所以不會產(chǎn)生風(fēng)險。我們把這種方式稱為分層的方式,分層的方式不 但在項(xiàng)目代碼變更時會帶來好處,同時也為系統(tǒng)的分布帶來可能。在 眾多的分層方案中,最成熟
6、影響最大的是三層結(jié)構(gòu)數(shù)據(jù)庫的體系。三層數(shù)據(jù)庫結(jié)構(gòu)三層結(jié)構(gòu)中的“三層”是指“表示層”、“業(yè)務(wù)邏輯層”和 “數(shù)據(jù)訪問層”,三層之間的關(guān)系如圖所示。其中表示層(或者叫 ui層)的作用是用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù)以及對用戶輸 入的數(shù)據(jù)的格式進(jìn)行檢驗(yàn)(例如:email是否符合要求等),為用戶 提供一種交互式的操作界面,表示層一般是以應(yīng)用程序的形式出現(xiàn) 的。業(yè)務(wù)邏輯層(或者簡稱bll)是表示層與數(shù)據(jù)訪問層之間的信息 通信橋梁,具體職責(zé)是:(1)根據(jù)業(yè)務(wù)規(guī)則對數(shù)據(jù)進(jìn)行加工和處理;(2)與相鄰的表示層(門)或者數(shù)據(jù)訪問層(dal)進(jìn)行數(shù)據(jù)交換。 一般業(yè)務(wù)邏輯層以類庫的形式出現(xiàn)。數(shù)據(jù)訪問層(或者簡稱dal
7、)的功能是實(shí)現(xiàn)對數(shù)據(jù)的crud (即 增、刪、讀、改)操作。可以從各種數(shù)據(jù)源中訪問數(shù)據(jù),例如關(guān)系型 數(shù)據(jù)庫、10文件、xml文檔等,這樣其他層只需要關(guān)心如何使用數(shù)據(jù), 而如何獲取和改寫數(shù)據(jù)都由數(shù)據(jù)訪問層負(fù)責(zé)實(shí)現(xiàn)。在三層結(jié)構(gòu)中各層之間相互依賴,圖中各層之間的箭頭即表示 各層之間的依賴關(guān)系,即表示層依賴業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層依賴于 數(shù)據(jù)訪問層。二、物流管理信息系統(tǒng)設(shè)計中三層結(jié)構(gòu)數(shù)據(jù)庫應(yīng)用的實(shí)現(xiàn)(-)實(shí)體對象類項(xiàng)目的實(shí)現(xiàn)實(shí)體對象類在三層結(jié)構(gòu)中的作用是承載著信息在三層之間進(jìn)行 傳遞,所以在實(shí)現(xiàn)三層結(jié)構(gòu)的應(yīng)用系統(tǒng)的時候,首先要實(shí)現(xiàn)實(shí)體對象 類項(xiàng)目,在物流信息管理系統(tǒng)解決方案中添加一個類庫項(xiàng)目,取名為 w
8、lmodels,其默認(rèn)的命名空間定義為wlmodelso因?yàn)閷?shí)體對象類要具備承載系統(tǒng)中要傳遞的信息的能力,所以 實(shí)體對象類的設(shè)計根據(jù)數(shù)據(jù)庫中數(shù)據(jù)表的結(jié)構(gòu)來定義,原則如下:1 根據(jù)數(shù)據(jù)表編寫實(shí)體類,一個數(shù)據(jù)表對應(yīng)一個實(shí)體類。2因?yàn)閿?shù)據(jù)表是多個實(shí)體信息(行)的集合,所以數(shù)據(jù)表的命 名一般會使用復(fù)數(shù)來定義,而實(shí)體對象表示的是表中的一個實(shí)體,所 以當(dāng)數(shù)據(jù)表的命名帶有復(fù)數(shù)時,實(shí)體對象類的命名一般與數(shù)據(jù)表名相 同并去掉結(jié)尾的復(fù)數(shù)表示形式;而如果數(shù)據(jù)表的命名沒有使用復(fù)數(shù), 則實(shí)體對象類的命名與數(shù)據(jù)表相同。3. 數(shù)據(jù)表中的每一個字段都要在實(shí)體對象類中用字段表示岀 來,而根據(jù)面向?qū)ο缶幊蹋╫op)的封裝的特性,
9、一般把類中的字段 使用private或protected訪問修飾符保護(hù)起來,同時為每一個字段 配備一個訪問修飾符為public的屬性以接受訪問,屬性可根據(jù)需要 定義get (讀)訪問器和set (寫)訪問器。4. 實(shí)體對象類中字段和屬性的數(shù)據(jù)類型要與數(shù)據(jù)表中字段的數(shù) 據(jù)類型相匹配或可以相互轉(zhuǎn)換,例如:數(shù)據(jù)庫中的va.rchar> char類 型對應(yīng)于c#中的string類型,使用時直接匹配,無需轉(zhuǎn)換;數(shù)據(jù)庫 中money類型,對應(yīng)于c#中的decimal數(shù)據(jù)類型,而使用時必須進(jìn) 行強(qiáng)制類型轉(zhuǎn)換。5. 為了方便創(chuàng)建實(shí)體對象類的實(shí)例,一般可以為實(shí)體對象類設(shè) 計多種構(gòu)造函數(shù)的重載,如果為實(shí)體對
10、象類設(shè)計了帶參數(shù)的構(gòu)造函 數(shù),則必須為其創(chuàng)建無參構(gòu)造函數(shù),因?yàn)椋琻et framework不會為 擁有帶參數(shù)構(gòu)造函數(shù)的類自動創(chuàng)建無參構(gòu)造函數(shù)。6. 要在實(shí)體對象類的定義前面加上可序列化特性標(biāo)志 serializable,此特性標(biāo)明這個類以及它的成員是可以被序列化 的,序列化的主要目的是為了提高數(shù)據(jù)傳輸中的性能和安全性,例如, 如果要把實(shí)體對象類的實(shí)例在xml web service中作為參數(shù)和返回值 傳遞信息,則實(shí)體對象類必須具備可序列化的能力。依據(jù)以上六條原則創(chuàng)建物流項(xiàng)目的實(shí)體對象類項(xiàng)目,例如,數(shù) 據(jù)庫中雇員登錄賬戶信息表的定義如下:create table accounts(account
11、name varchar (20) not null primary key,accountpassword varchar (30) not null,empid int not null foreign key references employees(empid),accountrole varchar (30) not nu 11 default (' public')go則對應(yīng)的實(shí)體對象類的定義應(yīng)為:using system;using system collections generic;using system. text;namespace wlmodclsse
12、rializablepublic class accountttrcgion protected membersprotected string accouniname = string empty;protected string accountpassword 二 string empty;protected int empid;protected string accountrole = string. empty; ttcndrcgionttregion public methodspublic account () ttendregion ttregion public proper
13、tiespublic string accountname get return accountnamc; set accountname 二 value; public string accountpasswordget return accountpasswl 2 下一頁導(dǎo)讀:本論文是一篇關(guān)于三層結(jié)構(gòu)數(shù)據(jù)庫在物流管理信息系統(tǒng)設(shè)計 中的應(yīng)用與實(shí)現(xiàn)的優(yōu)秀論文范文,對正在寫有關(guān)于實(shí)體論文的寫作者 有一定的參考和指導(dǎo)作用,論文片段:受一個account類的對象,并 剖析出這個對象的各個屬性,插入到數(shù)據(jù)庫中,并返回代表更新行數(shù) 的整型值,那么在業(yè)務(wù)邏輯層就要有一個策略與其對應(yīng),這個策略也 接受一個a
14、ccount類對象,并實(shí)例化數(shù)據(jù)訪問層的服務(wù)類,調(diào)用服務(wù) 類中的插入策略,把接受到的account對象傳遞給服務(wù)類的策略,接 受服務(wù)類策略的返回值,并把這個值返回給調(diào)用方。ord; set accountpassword 二 value; public int empidget return empld; set emplcl = value; public string accountroleget return accountrole; set accountrole = value;ttendregion參照此策略定義出其他的實(shí)體對象類,即完成了物流解決方案 的實(shí)體對象類項(xiàng)目。(二)數(shù)據(jù)
15、訪問層(dal)項(xiàng)目的設(shè)計與實(shí)現(xiàn)數(shù)據(jù)訪問層項(xiàng)目是一個類庫項(xiàng)目,其主要功能是訪問數(shù)據(jù)庫, 對數(shù)據(jù)表進(jìn)行增刪讀改的操作,并接受業(yè)務(wù)邏輯層(bll)的調(diào)用, 返回合適的結(jié)果。在物流信息管理系統(tǒng)解決方案中添加一個類庫項(xiàng)目,取名 wldal,其默認(rèn)的命名空間設(shè)置為wldalo在數(shù)據(jù)訪問層的類有兩種, 一種是相對應(yīng)實(shí)體對象類的數(shù)據(jù)庫訪問服務(wù)類,一種是為了代碼重用 而設(shè)置的dbhelper類。dbhelper類是一個通用的數(shù)據(jù)庫訪問策略類,根據(jù)ado. net的 特點(diǎn),無論是要讀取數(shù)據(jù)庫中的表,還是更更新或刪除數(shù)據(jù)表中的數(shù) 據(jù),其數(shù)據(jù)庫訪問都遵循相同的流程,例如,其中創(chuàng)建數(shù)據(jù)庫連接對 象(connectio
16、n)打開數(shù)據(jù)庫連接、創(chuàng)建語句對象(command),執(zhí) 行語句,處理并返回結(jié)果、關(guān)閉數(shù)據(jù)庫連接等的策略和代碼都是相同 或相似的,所不同的是對不同數(shù)據(jù)表的訪問所使用的sql語句和查詢 條件不同,根據(jù)不同的操作(增刪改查)所返回的結(jié)果不同o dblielper 類定義了一系列的策略,這些策略接受要執(zhí)行的sql語句和參數(shù),根 據(jù)需要返回結(jié)果集(data reader)對象、數(shù)據(jù)集(dataset)對象、 數(shù)據(jù)表(data table)對象或者實(shí)體對象集合list,同時dbhelper 類還提供根據(jù)應(yīng)用程序配置文件產(chǎn)主數(shù)據(jù)庫連接對象的策略。這些策 略被數(shù)據(jù)訪問層中的其他類中的策略所調(diào)用,用以減化對應(yīng)于
17、實(shí)體對 象的數(shù)據(jù)庫服務(wù)類中策略的開發(fā),使得這些策略不用重復(fù)編寫(或更 改)相同的數(shù)據(jù)庫訪問代碼,只把精力放在這個類真正要做的事情上, 重復(fù)的操作由dbhelper類完相關(guān)范文由寫成,這也完美的體現(xiàn)了面 向?qū)ο缶幊痰姆庋b的特性。在數(shù)據(jù)訪問層的另外一種類就是對應(yīng)于實(shí)體對象類的數(shù)據(jù)庫服 務(wù)類,這種類的創(chuàng)建原則是:1. 根據(jù)實(shí)體對象類創(chuàng)建數(shù)據(jù)庫服務(wù)類,一個實(shí)體對象類對應(yīng)一 個數(shù)據(jù)庫服務(wù)類。2 數(shù)據(jù)庫服務(wù)類的類名的命名原則是實(shí)體對象類的類名再加上 service,例如,對應(yīng)于數(shù)據(jù)庫中數(shù)據(jù)表accounts的實(shí)體對象類的類 名應(yīng)該是account ,則對應(yīng)的數(shù)據(jù)庫服務(wù)類的類名是acco im tservi
18、ceo3 在數(shù)據(jù)服務(wù)類中實(shí)現(xiàn)對應(yīng)于關(guān)聯(lián)的實(shí)體對象類和數(shù)據(jù)庫表的 增刪讀改策略,其中讀策略可能會根據(jù)條件需求編寫多個,用來讀取 的策略不接受輸入?yún)?shù),或者接受作為查詢條件的參數(shù),返回實(shí)體對 象類的實(shí)例(查詢一行時)或者實(shí)體對象的集合(查詢多行時);而 增刪改策略每樣只需編寫一個即可,這三個策略接受實(shí)體對象類的實(shí) 例作為輸入?yún)?shù),返回值則是一個整型值,代表數(shù)據(jù)庫操作所影響的 行數(shù),調(diào)用方可以根據(jù)這個整數(shù)判斷數(shù)據(jù)庫操作的結(jié)論。如上所述,在數(shù)據(jù)訪問層的策略中,輸入?yún)?shù)和返回值大量使 用了實(shí)體對象類,充分體現(xiàn)了實(shí)體對象類作為信息載體的作用,為了 能夠在數(shù)據(jù)訪問層使用實(shí)體對象類,數(shù)據(jù)訪問層必須添加對實(shí)體對
19、象 類的引用,實(shí)現(xiàn)數(shù)據(jù)訪問層對實(shí)體對象的依賴性。(三)業(yè)務(wù)邏輯層(bll)項(xiàng)目的設(shè)計與實(shí)現(xiàn)業(yè)務(wù)邏輯層是一個類庫項(xiàng)目,其主要功能是負(fù)責(zé)表示層項(xiàng)目與 數(shù)據(jù)訪問層項(xiàng)目之間信息的傳遞,和對信息的加工處理,接受表示層 的調(diào)用,并調(diào)用數(shù)據(jù)訪問層的策略,把數(shù)據(jù)訪問層的返回值經(jīng)過加工 后返回給表示層。在物流信息管理系統(tǒng)解決方案中添加一個類庫項(xiàng)目,取名 wlbll,其默認(rèn)的命名空間為設(shè)置為wlbllo在業(yè)務(wù)邏輯層包含兩種類,一種是對應(yīng)于實(shí)體對象類的管理類, 一種是提供通用功能的工具類。管理類的個數(shù)與實(shí)體對象類對應(yīng),負(fù)責(zé)連接表示層和數(shù)據(jù)訪問 層,實(shí)現(xiàn)三層結(jié)構(gòu)中信息的傳遞,依據(jù)如下的原則創(chuàng)建管理類:1 根據(jù)實(shí)體對象
20、類創(chuàng)建管理類,即有一個實(shí)體對象類,就要有 一個數(shù)據(jù)訪問層的數(shù)據(jù)服務(wù)類,對應(yīng)有一個業(yè)務(wù)邏輯層的管理類。2. 管理類的命名是在對應(yīng)的實(shí)體類的類名后面加上一個 manager代表是管理類,對應(yīng)于數(shù)據(jù)庫中數(shù)據(jù)表accounts的實(shí)體對 象類的類名應(yīng)該是account,則對應(yīng)的數(shù)據(jù)庫服務(wù)類的類名是 account service,則對應(yīng)的管理類名應(yīng)該是account managero3. 管理類中的策略應(yīng)該跟與其對應(yīng)的數(shù)據(jù)訪問層的數(shù)據(jù)服務(wù)類 中的策略對應(yīng),例如,在account service類中有一個插入新賬號的 策略,接受一個account類的對象,并剖析出這個對象的各個屬性, 插入到數(shù)據(jù)庫中,并返
21、回代表更新行數(shù)的整型值,那么在業(yè)務(wù)邏輯層 就要有一個策略與其對應(yīng),這個策略也接受一個account類對象,并 實(shí)例化數(shù)據(jù)訪問層的服務(wù)類,調(diào)用服務(wù)類中的插入策略,把接受到的 account對象傳遞給服務(wù)類的策略,接受服務(wù)類策略的返回值,并把 這個值返回給調(diào)用方。4. 管理類中還可能存在一些公用的事物處理的策略,如果這些 策略需要被多個管理類使用,應(yīng)該把他們放到工具類中。在業(yè)務(wù)邏輯層中還有另外一種種類,工具類,這種類中的策略 主要是服務(wù)于業(yè)務(wù)層的其他類,例如,計算運(yùn)費(fèi)的策略在很多的功能 中都要使用,所以在工具類中實(shí)現(xiàn)這個策略,因?yàn)楣ぞ哳惖牟呗灾环?務(wù)于本項(xiàng)目中的管理類,所以,工具類的訪問修飾符一般是internal 的,只能在當(dāng)前程序集中訪問。業(yè)務(wù)邏輯層需要調(diào)用數(shù)據(jù)訪問層的策略,并使用實(shí)體對象類作 為信息載體傳遞,因此業(yè)務(wù)邏輯層需要添加對數(shù)據(jù)訪問層和實(shí)體對象 類項(xiàng)目的引用,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- LY/T 3408-2024林下經(jīng)濟(jì)術(shù)語
- 【假期提升】五升六語文暑假作業(yè)(七)-人教部編版(含答案含解析)
- 緊急任務(wù) 面試題及答案
- 2025年軍隊文職人員招聘之軍隊文職法學(xué)考前沖刺模擬試卷A卷含答案
- 2019-2025年消防設(shè)施操作員之消防設(shè)備中級技能題庫綜合試卷A卷附答案
- 遺產(chǎn)繼承房產(chǎn)過戶合同
- 汽車運(yùn)輸合同協(xié)議書
- 語言學(xué)與文化差異閱讀理解題
- 信息技術(shù)支持下的農(nóng)業(yè)智能生產(chǎn)合作協(xié)議
- 陜西省渭南市富平縣2024-2025學(xué)年八年級上學(xué)期期末生物學(xué)試題(含答案)
- 中考心理減壓輔導(dǎo) 中考前心理健康教育主題班會
- 小學(xué)四年級心理健康教育課
- 【上市公司的財務(wù)風(fēng)險的分析和防范:以三只松鼠為例10000字(論文)】
- 部編版小學(xué)語文四年級下冊教師教學(xué)用書(教學(xué)參考)完整版
- 幼兒園消防安全知識競賽試題及答案
- 莫高窟群文閱讀教學(xué)設(shè)計
- 樂理視唱練耳簡明教程課后習(xí)題答案
- 2023年10月自考試題02398土力學(xué)及地基基礎(chǔ)
- 農(nóng)業(yè)領(lǐng)域的服務(wù)禮儀
- 高壓旋噴樁加固工程施工方案
- 【鹽津鋪?zhàn)庸境杀竟芾憩F(xiàn)狀、問題及對策】10000字
評論
0/150
提交評論