




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
HCCE2010課程體系介紹章企業(yè)級開發(fā)中搭建三層架構(gòu)企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第1頁!課程地位企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第2頁!課程目標(biāo)學(xué)習(xí)內(nèi)容三層架構(gòu)的原理使用實(shí)體類對象在三層架構(gòu)之間傳遞數(shù)據(jù)實(shí)現(xiàn)高效的數(shù)據(jù)訪問層特性、序列化和反序列化、反射Windows服務(wù)異常處理和單元測試學(xué)習(xí)目標(biāo)能夠搭建三層架構(gòu)的系統(tǒng)能夠創(chuàng)建高效的數(shù)據(jù)訪問層能夠使用實(shí)體類對象在三層架構(gòu)之間傳遞數(shù)據(jù)能夠使用系統(tǒng)提供的特性,并自定義特性能夠使用序列化保存對象狀態(tài),使用反序列化構(gòu)建對象能夠使用反射動(dòng)態(tài)調(diào)用方法能夠創(chuàng)建和監(jiān)視Windows服務(wù)能夠使用VSTS工具進(jìn)行單元測試實(shí)戰(zhàn)項(xiàng)目綜合項(xiàng)目:固定資產(chǎn)管理系統(tǒng)企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第3頁!本章目標(biāo)能夠使用三層架構(gòu)搭建項(xiàng)目框架能夠使用DataSet在三層間傳遞數(shù)據(jù)企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第4頁!為什么需要三層架構(gòu)?顧客到商場購買肉食品商場負(fù)責(zé)接待購買肉食品的顧客商場從食品加工工廠批量購入食品食品加工廠為商場提供肉食品食品加工廠從屠宰場獲取原材料兔子在場負(fù)責(zé)提供原材料給食品加工廠食品加工企業(yè)將整個(gè)企業(yè)業(yè)務(wù)分為三部分來實(shí)現(xiàn),這樣做的好處是:其中一個(gè)環(huán)節(jié)發(fā)生變化,不會(huì)影響到整個(gè)企業(yè)的業(yè)務(wù),只需要其他環(huán)節(jié)略微變化即可企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第5頁!為什么需要三層架構(gòu)?用戶要求添加身份認(rèn)證:業(yè)務(wù)邏輯改變以后,會(huì)帶來什么問題?privatevoidbtnLogin_Click(objectsender,EventArgse){if(InputValidate())//輸入驗(yàn)證通過{stringmessage=""; //方法調(diào)用多傳遞了一個(gè)參數(shù)if(UserValidate(txtUsername.Text.Trim(),txtPassword.Text.Trim(),cboRole.Text.Trim(),refmessage)){//登錄成功}else MessageBox.Show(message);}}企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第6頁!三層架構(gòu)是什么? 優(yōu)點(diǎn)一:不必為了業(yè)務(wù)邏輯上的微小變化而導(dǎo)致整個(gè)程序的修改,只需要修改商業(yè)邏輯層中的一個(gè)函數(shù)或一個(gè)過程 優(yōu)點(diǎn)二:增強(qiáng)了代碼的可重用性 優(yōu)點(diǎn)三:便于不同層次的開發(fā)人員之間的合作三層架構(gòu)的優(yōu)點(diǎn):企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第7頁!1.3三層架構(gòu)各層之間的關(guān)系表示層業(yè)務(wù)邏輯層數(shù)據(jù)訪問層各層之間存在依賴關(guān)系:表現(xiàn)層依賴業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層依賴于數(shù)據(jù)訪問層企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第8頁!小結(jié)1 回顧前面的食品加工廠案例,說出食品加工廠在三層架構(gòu)里位于哪一層? 三層架構(gòu)一定是三個(gè)項(xiàng)目嗎?企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第9頁!2.1創(chuàng)建表現(xiàn)層先創(chuàng)建一個(gè)空白解決方案企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第10頁!2.2創(chuàng)建數(shù)據(jù)操作層在解決方案里添加一個(gè)C#類庫項(xiàng)目:SqlServerDAL企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第11頁!2.4建立業(yè)務(wù)實(shí)體在解決方案里添加一個(gè)C#類庫項(xiàng)目:Model企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第12頁!建立三層之間的依賴關(guān)系右鍵Model項(xiàng)目,點(diǎn)“生成”。生成成功以后,右鍵SqlServerDAL項(xiàng)目下的“引用”,選擇“添加引用”命令添加引用后的效果企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第13頁!建立三層之間的依賴關(guān)系思考: 數(shù)據(jù)訪問層主要是用來訪問數(shù)據(jù)庫并且得到數(shù)據(jù),那么保存數(shù)據(jù)的方式有很多種,比如保存到DataReader中,保存進(jìn)DataSet中,保存進(jìn)List中等,你要把數(shù)據(jù)保存進(jìn)哪里呢? 如果界面層顯示數(shù)據(jù)用ListView控件,那么你的數(shù)據(jù)訪問層用什么來保存數(shù)據(jù)更方便?如果界面層顯示數(shù)據(jù)用DataGridView控件,那么你的數(shù)據(jù)訪問層用什么來保存數(shù)據(jù)更方便?企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第14頁!小結(jié)2 三層架構(gòu)包含哪三層? 三層架構(gòu)各層之間如何依賴? 搭建三層架構(gòu)的步驟是哪幾步?
企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第15頁!如何三層架構(gòu)里使用DataSet傳遞數(shù)據(jù) 創(chuàng)建數(shù)據(jù)訪問層的方法,填充DataSet 創(chuàng)建業(yè)務(wù)邏輯方法獲取DataSet的方法,得到DataSet對象 表現(xiàn)層里通過業(yè)務(wù)邏輯層的業(yè)務(wù)方法獲取DataSet對象,呈現(xiàn)給用戶。如何三層架構(gòu)里使用DataSet傳遞數(shù)據(jù)企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第16頁!配置文件使用一般程序在升級時(shí)有可能會(huì)更改連接數(shù)據(jù)庫的字符串,在不修改源代碼的原則下可以使用配置文件來定義連接數(shù)據(jù)庫的字符串,具體步驟如下:在UI層添加新建項(xiàng),在彈出的選擇框選擇應(yīng)用程序配置文件在配置文件中,有規(guī)定好了的節(jié)點(diǎn),那么我們在<configuration>節(jié)點(diǎn)中添加<connectionStrings>子節(jié)點(diǎn),在ConnectionStrings節(jié)點(diǎn)中添加<addname=“url的名字”connectionString=“url的值”/>,這樣如果程序升級我們只需要改變url的值即可在DAL層添加引用.net中的Systemconfiguration在DBHelper中導(dǎo)入命名空間System.Configuration,獲取URL的代碼為:Stringurl=ConfigurationManager.ConnectionStrings[“url的名字"].ToString();關(guān)于DBHelper的設(shè)計(jì)可以讓URL是靜態(tài)的變量,那么DBHelper也是靜態(tài)的類,在該類的靜態(tài)構(gòu)造方法中為靜態(tài)變量賦值企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第17頁!3.3表現(xiàn)層獲取數(shù)據(jù)privatevoidCustomerFrm_Load(objectsender,EventArgse){CustomerBLLcust=newCustomerBLL();//業(yè)務(wù)邏輯類的實(shí)例DataSetdsCust=cust.GetCustomers();//調(diào)用業(yè)務(wù)邏輯類的方法//結(jié)果在DataGridView顯示dgvCustomer.DataSource=dsCust.Tables[0];}企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第18頁!本章總結(jié)三層架構(gòu)的三層指的是:表現(xiàn)層、數(shù)據(jù)操作層、業(yè)務(wù)邏輯層。三層架構(gòu)中各層的依賴關(guān)系式:表現(xiàn)層依賴業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層依賴數(shù)據(jù)訪問層,業(yè)務(wù)實(shí)體在各層之間傳遞。搭建三層架構(gòu)的步驟是: 創(chuàng)建表現(xiàn)層 創(chuàng)建數(shù)據(jù)操作層 創(chuàng)建業(yè)務(wù)邏輯層 創(chuàng)建模型層(業(yè)務(wù)實(shí)體) 創(chuàng)建各層之間的依賴關(guān)系通過DataSet對象在三層之間傳遞數(shù)據(jù)企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第19頁!本章內(nèi)容理解三層架構(gòu)的優(yōu)點(diǎn)三層架構(gòu)中各層之間的邏輯關(guān)系和各自功能使用三層架構(gòu)搭建項(xiàng)目使用DataSet作為業(yè)務(wù)實(shí)體企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第20頁!1.三層架構(gòu)概述現(xiàn)實(shí)生活中的肉類食品加工廠的場景這樣做有什么好處呢?1.1為什么需要三層架構(gòu)?企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第21頁!為什么需要三層架構(gòu)?沒有使用三層架構(gòu)時(shí)的用戶登錄:privatevoidbtnLogin_Click(objectsender,EventArgse){if(InputValidate())//輸入驗(yàn)證通過{stringmessage="";if(UserValidate(txtUsername.Text.Trim(),txtPassword.Text.Trim(),refmessage)){//登錄成功}else{//登錄失敗MessageBox.Show(message);}}}企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第22頁!1.2三層架構(gòu)是什么? 三層架構(gòu)是基于模塊化程序設(shè)計(jì)的思想,為實(shí)現(xiàn)分解應(yīng)用程序的需求,而逐漸形成的一種標(biāo)準(zhǔn)模式的模塊劃分方法。 三層架構(gòu)包含: 表現(xiàn)層(UI):UserInterface 數(shù)據(jù)訪問層(DAL):DataAccessLayer 業(yè)務(wù)邏輯層(BLL):BusinessLogicLayer企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第23頁!三層架構(gòu)是什么?表現(xiàn)層(UI):主要實(shí)現(xiàn)和用戶的交互業(yè)務(wù)邏輯層(BLL):用于對上下交互的數(shù)據(jù)進(jìn)行邏輯處理數(shù)據(jù)訪問層(DAL):用于實(shí)現(xiàn)與數(shù)據(jù)庫的交互和訪問將業(yè)務(wù)實(shí)體與業(yè)務(wù)方法分離,作為一個(gè)單獨(dú)的層將一些會(huì)重用的方法封裝在獨(dú)立的類里,使代碼重用性更強(qiáng)三層架構(gòu)各層的功能:企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第24頁!三層架構(gòu)各層之間的關(guān)系 表現(xiàn)層將用戶的請求發(fā)送給業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層通過數(shù)據(jù)訪問層來處理數(shù)據(jù),然后接受到數(shù)據(jù)訪問層處理的數(shù)據(jù),再通過一定的業(yè)務(wù)規(guī)則處理返回給用戶三層架構(gòu)的數(shù)據(jù)流向企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第25頁!2.如何搭建三層架構(gòu)?創(chuàng)建表現(xiàn)層創(chuàng)建數(shù)據(jù)操作層創(chuàng)建業(yè)務(wù)邏輯層創(chuàng)建業(yè)務(wù)實(shí)體建立依賴關(guān)系搭建三層架構(gòu)有五個(gè)步驟企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第26頁!創(chuàng)建表現(xiàn)層在解決方案里添加一個(gè)WinForm程序:WinUI企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第27頁!2.3創(chuàng)建業(yè)務(wù)邏輯層在解決方案里添加一個(gè)C#類庫項(xiàng)目:BLL企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第28頁!2.5建立三層之間的依賴關(guān)系表現(xiàn)層(UI)依賴于業(yè)務(wù)邏輯層(BLL)依賴于數(shù)據(jù)訪問層(DAL)業(yè)務(wù)實(shí)體(Model)依賴于依賴于依賴于①②③企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第29頁!建立三層之間的依賴關(guān)系為業(yè)務(wù)邏輯層添加對于數(shù)據(jù)訪問層的依賴。企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第30頁!建立三層之間的依賴關(guān)系 三層架構(gòu)里表現(xiàn)層可以直接引用數(shù)據(jù)操作層嗎? 三層架構(gòu)里允許重復(fù)引用嗎?
企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第31頁!3.使用DataSet在三層之間傳遞數(shù)據(jù)實(shí)體對象的類型DataSetEntityClass企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第32頁!3.1創(chuàng)建數(shù)據(jù)訪問層的方法publicclassCustomerDAL{SqlConnectionconnection=newSqlConnection("server=.;database=CRM;uid=sa;pwd=180705");publicDataSetGetAllCustomers(){DataSetdsCust=newDataSet();SqlDataAdapterdaCust=newSqlDataAdapter("select*fromCustomers",connection);daCust.Fill(dsCust,"Customers");returndsCust;}}數(shù)據(jù)訪問層里添加的數(shù)據(jù)訪問方法,返回DataSet 企業(yè)級開發(fā)中搭建三層架構(gòu)理論共36頁,您現(xiàn)在瀏覽的是第33頁!3.2創(chuàng)建業(yè)務(wù)邏輯層的方法publicclassCustomerBLL{ //數(shù)據(jù)訪問類的實(shí)例CustomerDALcust=newCustomerDAL(); //業(yè)務(wù)邏輯方法,通過調(diào)用數(shù)據(jù)訪問層的數(shù)據(jù)訪問方法獲取所有客戶的//信息publicDataSetGetCustomers(){returnc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒園建設(shè)項(xiàng)目可行性研究報(bào)告
- 沼氣池施工方案
- 泰安別墅鐵藝護(hù)欄施工方案
- 橋梁冬季施工方案
- 馬鞍山污水池防腐施工方案
- 隔音涂料二次噴涂施工方案
- 果園局部除草方案范本
- 單位修車協(xié)議合同范例
- 個(gè)人服裝租賃合同范例
- 采購合同中文
- 8 歌曲 《郵遞員叔叔來了》課件(13張內(nèi)嵌視頻)
- 網(wǎng)絡(luò)數(shù)據(jù)安全風(fēng)險(xiǎn)治理與防護(hù)項(xiàng)目需求說明
- 專精特新戰(zhàn)略導(dǎo)向賦能中小企業(yè)成長的機(jī)制研究
- 高鉀血癥護(hù)理查房講義課件
- 遼寧大連2023年中考語文現(xiàn)代文閱讀真題及答案
- 電纜居間合同范本2024年
- 任務(wù)三學(xué)做麥糊燒(教案)三年級下冊勞動(dòng)浙教版
- 2024收銀系統(tǒng)合同
- 辦公樓裝飾施工組織設(shè)計(jì)裝飾裝修工程施工組織設(shè)計(jì)方案
- 刮痧技術(shù)操作考核評分標(biāo)準(zhǔn)
- 《民法學(xué)》教學(xué)大綱
評論
0/150
提交評論