深入net平臺的軟件系統(tǒng)分層開發(fā)_第1頁
深入net平臺的軟件系統(tǒng)分層開發(fā)_第2頁
深入net平臺的軟件系統(tǒng)分層開發(fā)_第3頁
深入net平臺的軟件系統(tǒng)分層開發(fā)_第4頁
深入net平臺的軟件系統(tǒng)分層開發(fā)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第五章業(yè)務(wù)的擴(kuò)展:三層架構(gòu)回顧與作業(yè)點(diǎn)評目前為止我們對軟件系統(tǒng)分了幾層?分層開發(fā)有哪些優(yōu)點(diǎn)?預(yù)習(xí)檢查三層架構(gòu)都有哪三層?ADO.NET中用作事務(wù)處理的類是?本章任務(wù)完善新增學(xué)生的功能實(shí)現(xiàn)刪除學(xué)生的功能本章目標(biāo)理解什么是三層架構(gòu)能夠搭建三層架構(gòu)能夠在三層架構(gòu)下編碼業(yè)務(wù)的擴(kuò)展如果增加密碼加密的功能,加密的代碼放在表示層還是數(shù)據(jù)訪問層?企業(yè)中的業(yè)務(wù)企業(yè)審批中不斷變化的流程電子商務(wù)網(wǎng)站的折扣策略由兩層到三層表示層業(yè)務(wù)邏輯層數(shù)據(jù)訪問層三層的依賴關(guān)系表示層業(yè)務(wù)邏輯層數(shù)據(jù)訪問層包含實(shí)體的三層架構(gòu)表示層業(yè)務(wù)邏輯層數(shù)據(jù)訪問層業(yè)務(wù)實(shí)體實(shí)體類在三層中的數(shù)據(jù)傳遞解析實(shí)體對象構(gòu)建實(shí)體對象返回行集處理窗體表示層表示層后置代碼業(yè)務(wù)邏輯層數(shù)據(jù)訪問層數(shù)據(jù)庫用戶請求傳遞參數(shù)展示數(shù)據(jù)返回請求數(shù)據(jù)操作調(diào)用SQL命令返回解析實(shí)體對象構(gòu)建實(shí)體對象或集合搭建三層架構(gòu)搭建三層架構(gòu)的步驟1、創(chuàng)建數(shù)據(jù)訪問層項(xiàng)目2、創(chuàng)建業(yè)務(wù)邏輯層項(xiàng)目3、創(chuàng)建表示層項(xiàng)目4、創(chuàng)建實(shí)體項(xiàng)目(可選)5、分別添加三層對實(shí)體項(xiàng)目的依賴(可選)6、添加業(yè)務(wù)邏輯層對數(shù)據(jù)訪問層的依賴7、添加表示層對業(yè)務(wù)邏輯層的依賴演示示例:搭建三層架構(gòu)練習(xí)——將

MySchool改成三層架構(gòu)

需求說明:將MySchool改成三層架構(gòu),并正確添加依賴完成時(shí)間:30分鐘共性問題集中講解常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解業(yè)務(wù)邏輯層中的編碼業(yè)務(wù)邏輯層中的編碼創(chuàng)建業(yè)務(wù)邏輯類引用數(shù)據(jù)訪問層、業(yè)務(wù)實(shí)體層命名空間實(shí)現(xiàn)業(yè)務(wù)邏輯方法調(diào)用數(shù)據(jù)訪問層中的方法實(shí)現(xiàn)業(yè)務(wù)處理代碼表示層中的編碼表示層中的編碼創(chuàng)建WinForms窗體引用業(yè)務(wù)邏輯層、業(yè)務(wù)實(shí)體層命名空間實(shí)現(xiàn)表示層的方法調(diào)用業(yè)務(wù)邏輯層中的方法實(shí)現(xiàn)顯示邏輯代碼指導(dǎo)——新增學(xué)生的業(yè)務(wù)處理3-1

訓(xùn)練要點(diǎn):在業(yè)務(wù)邏輯層進(jìn)行業(yè)務(wù)處理需求說明:在添加學(xué)生時(shí)完成以下業(yè)務(wù)處理功能給學(xué)生登錄的密碼加密判斷身份證號是否已經(jīng)存在,如果存在,則不允許添加

講解需求說明指導(dǎo)——新增學(xué)生的業(yè)務(wù)處理3-2

實(shí)現(xiàn)思路:在數(shù)據(jù)訪問層:添加方法判斷身份證號是否存在在業(yè)務(wù)邏輯層添加MD5加密類,實(shí)現(xiàn)加密算法實(shí)現(xiàn)業(yè)務(wù)邏輯層方法:調(diào)用數(shù)據(jù)訪問層方法判斷學(xué)員的存在性,調(diào)用加密算法給學(xué)員密碼加密在表示層:添加對業(yè)務(wù)邏輯層方法的調(diào)用完成時(shí)間:20分鐘指導(dǎo)——新增學(xué)生的業(yè)務(wù)處理3-3

難點(diǎn)提示:publicstringGetMD5String(stringstr){MD5md5=newMD5CryptoServiceProvider();byte[]data=System.Text.Encoding.Default.GetBytes("newblade");byte[]md5data=md5.ComputeHash(data);md5.Clear();StringBuilderbuilder=newStringBuilder();for(inti=0;i<md5data.Length-1;i++){Console.WriteLine(md5data[i].ToString());builder.Append(md5data[i].ToString("X2"));}returnbuilder.ToString();}MD5加密方法練習(xí)——編制學(xué)生準(zhǔn)考證號

需求說明:實(shí)現(xiàn)生成準(zhǔn)考證號的功能考證號的生成規(guī)則: 月份+日期+年級號+科目號+隨機(jī)數(shù)(1-1000)隨機(jī)數(shù)不滿三位從左邊起以0補(bǔ)齊其它不滿二位從左邊起以0補(bǔ)齊顯示生成編號的進(jìn)度完成時(shí)間:30分鐘共性問題集中講解常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解三層架構(gòu)的擴(kuò)展-通用層表示層業(yè)務(wù)邏輯層數(shù)據(jù)訪問層通用層通用層做什么通用(Common)層用來復(fù)用一些軟件系統(tǒng)中共用的技術(shù)

例如:通用的輔助類和工具方法數(shù)據(jù)校驗(yàn)方法緩存處理加密處理

演示示例:搭建通用層

分層架構(gòu)小結(jié)分層架構(gòu)的優(yōu)勢分離開發(fā)人員的關(guān)注無損替換提高代碼的可復(fù)用性分層架構(gòu)的缺點(diǎn)代碼量大,實(shí)現(xiàn)復(fù)雜ADO.NET的事務(wù)處理數(shù)據(jù)庫應(yīng)用程序ADO.NET提供了事務(wù)處理功能ADO.NET通過SqlTransaction對象執(zhí)行事務(wù)處理使用ADO.NET事務(wù)的步驟創(chuàng)建一個(gè)SqlTransaction對象,標(biāo)志事務(wù)開始1將SqlTransaction對象分配給SqlCommand的Transaction屬性23調(diào)用相應(yīng)的方法執(zhí)行SqlCommand命令調(diào)用SqlTransaction的Commit()方法完成事務(wù);調(diào)用Rollback()方法終止事務(wù)4使用ADO.NET事務(wù)使用事務(wù)的代碼SqlTransactiontrans=null;SqlConnectioncon=newSqlConnection(connString);try{con.Open();

trans=con.BeginTransaction();

SqlCommandcmd=newSqlCommand();//...省略代碼

cmd.Transaction=trans;

cmd.ExecuteNonQuery();

trans.Commit();}catch{

trans.Rollback();}finally{conn.Close();}

開始事務(wù)提交事務(wù)回滾事務(wù)演示示例:使用事務(wù)刪除學(xué)生練習(xí)——使用事務(wù)刪除學(xué)生

需求說明:使用ADO.NET事務(wù)刪除學(xué)生首先刪除學(xué)生成績,然后刪除學(xué)生如果任何一步操作失敗,自動(dòng)回滾完成時(shí)間:30分鐘指導(dǎo)—調(diào)用存儲過程事務(wù)刪除學(xué)生2-1

訓(xùn)練要點(diǎn):使用存儲過程事務(wù)需求說明:使用ADO.NET調(diào)用存儲過程刪除學(xué)生在存儲過程中使用事務(wù)處理語句首先刪除學(xué)生成績,然后刪除學(xué)生如果任何一步操作失敗,自動(dòng)回滾指導(dǎo)—調(diào)用存儲過程事務(wù)刪除學(xué)生2-2

實(shí)現(xiàn)思路:編寫帶事務(wù)的存儲過程使用ADO.NET調(diào)用存儲過程完成時(shí)間:20分鐘BEGINTRANIF@@ERROR<>0BEGINROLLBACKTRANreturnENDCOMMITTRANT-SQL事務(wù)處理代碼共性問題集中講解常見調(diào)試問題及解決辦

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論