深入.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頁
免費預覽已結束,剩余36頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

軟件系統(tǒng)的分層開發(fā)第一章課程地位2/41每階段已包括:項目實戰(zhàn)、COT課程總課時:

958本課目標學完本門課程后,你能夠使用三層架構開發(fā)應用系統(tǒng)使用實體類在各層間傳遞數(shù)據(jù)3/41課程結構圖4/41課程項目展示學生信息管理系統(tǒng)酒店管理系統(tǒng)教員演示課程項目5/41相關課程回顧WinForms程序運行后是否生成可執(zhí)行文件?C#語言中的異常處理語句是什么?在中如何填充DataSet數(shù)據(jù)集?提問6/41預習檢查為什么使用分層架構?程序集包含哪兩種文件?導致異常的原因有哪些?異常處理語句中出現(xiàn)多個catch塊,如何排列?提問7/41本章任務使用分層的方式實現(xiàn)簡單查詢搭建基本的分層架構實現(xiàn)基本分層系統(tǒng)的功能8/41本章目標理解分層開發(fā)的思想掌握搭建分層架構的方法.NET異常處理機制及多路異常捕獲9/41“混沌”的代碼S1的學生信息管理系統(tǒng)顯示學生信息功能界面操作代碼獲取數(shù)據(jù)代碼其它代碼窗體類幾個人共同開發(fā)同一個件,效率低改用控制臺顯示幾乎重新編寫重用獲取數(shù)據(jù)功能在窗體內(nèi),不好重用演示示例1:混沌的代碼問題10/41從混沌到清晰:分層清晰的結構協(xié)同開發(fā)重用移植獲取數(shù)據(jù)代碼界面操作代碼不同職責分開管理演示示例2:分層后的MySchool11/41生活中的“分層”服務員只管接待客人廚師只管烹炒客人要的美食他們各負其責共同協(xié)作為客人提供美食顧客飯店12/41軟件開發(fā)的“分層”HR系統(tǒng)外包A國數(shù)據(jù)訪問層B國UI設計C國持久化層D國

業(yè)務處理層13/41分層架構功能模塊按照職責不同統(tǒng)一管理操作界面顯示數(shù)據(jù)表示層(UI)操作數(shù)據(jù)庫數(shù)據(jù)訪問層(DAL)根據(jù)職責不同起的名字相同職責可進行分層,根據(jù)職責不同起名字并不是絕對的14/41解決方案Windows項目類庫項目……控制臺項目解決方案與項目解決方案中可有多個項目,項目對應到層右鍵設置啟動項目15/41類庫項目與程序集VisualStudio可創(chuàng)建自定義的類庫類庫項目可編譯為dll(程序集)程序集是.NET應用程序的主要構造塊包含編寫的功能模塊、功能所涉及的資源等類庫程序集:dll可執(zhí)行程序集:exe類庫項目有默認程序集名稱和命名空間名稱16/41層之間的關系項目對應到層,層間的功能如何調(diào)用?通過添加項目引用實現(xiàn)層間的調(diào)用關系方式一引用dll引用類庫項目問題方式二17/41搭建分層結構關鍵步驟創(chuàng)建應用程序項目UI(表示層)創(chuàng)建類庫項目DAL(數(shù)據(jù)訪問層)添加兩層之間的依賴關系分別實現(xiàn)各層的代碼操作演示:分層結構的搭建123418/41常見錯誤常見錯誤類庫的修改不能及時反映到調(diào)用問題分析類庫項目未重新編譯引用錯誤解決方法單獨編譯類庫項目重新添加引用19/41學員操作——顯示學生信息需求說明使用分層架構實現(xiàn)顯示學生信息功能要求顯示學生的學號、姓名、性別、出生年月……練習完成時間:20分鐘20/41共性問題集中講解常見問題及解決辦法代碼規(guī)范問題調(diào)試技巧共性問題集中講解21/41分層優(yōu)勢初體驗找兩個實現(xiàn)了功能的同學的UI層和數(shù)據(jù)訪問層,

整合完成功能分層優(yōu)勢職責分開無損替換降低依賴復用容易操作演示:整合兩名學員的項目問題22/41學員操作——顯示年級信息

需求說明在學生查詢窗體,添加下拉列表下拉列表綁定年級信息練習完成時間:30分鐘23/41共性問題集中講解常見問題及解決辦法代碼規(guī)范問題調(diào)試技巧共性問題集中講解24/41學員操作——實現(xiàn)登錄2-1訓練要點搭建分層架構的Windows程序?qū)崿F(xiàn)項目間的引用關系需求說明實現(xiàn)管理員登錄功能登錄成功后顯示系統(tǒng)主界面用戶名和密碼非空驗證指導25/41講解需求說明學員操作——實現(xiàn)登錄2-2實現(xiàn)思路在數(shù)據(jù)訪問層項目中添加AdminService類實現(xiàn)登錄方法訪問數(shù)據(jù)庫判斷用戶名+密碼組合是否正確在表示層添加登錄窗體、主窗體調(diào)用數(shù)據(jù)訪問層方法,并實現(xiàn)登錄驗證登錄驗證通過后打開主窗體完成時間:35分鐘指導26/41共性問題集中講解常見問題及解決辦法代碼規(guī)范問題調(diào)試技巧共性問題集中講解27/41賬戶姓名金額300123張三300124王五47,000311320李四為什么需要異常處理Trade(){Sendquery();}//…….//…….020,000數(shù)據(jù)庫系統(tǒng)將命令發(fā)送到數(shù)據(jù)庫中拒絕交易余額=20000-25000系統(tǒng)故障為保障系統(tǒng)出現(xiàn)故障時能夠自動處理,需要使用異常處理網(wǎng)上銀行:張三轉(zhuǎn)賬25000到李四的賬戶上問題28/41異常處理代碼錯誤公共語言運行庫遇到意外資源不可用異常程序執(zhí)行異常處理恢復程序29/41程序執(zhí)行過程程序在執(zhí)行過程中可能出現(xiàn)因多種原因引發(fā)的異常Exception類型2-1公共語言運行庫引發(fā)的異常派生自SystemException類常見的異常類型包括:SQLExceptionArgumentNullExceptionFileNotFoundExceptionIOExceptionApplicationException……Exception類是所有異常的基類30/41屬性名稱說明Source此屬性表示導致異常發(fā)生的應用程序或?qū)ο蟮拿Q

Message提供引起異常的詳細信息StackTrace此屬性提供在堆棧上所調(diào)用方法的詳細信息,并首先顯示最近調(diào)用的方法

InnerException對內(nèi)部異常的引用,如果此異常基于前一個異常,則內(nèi)部異常指最初發(fā)生的異常Exception類型2-231/41回顧:異常處理結構常見的異常處理結構try{//……}catch(異常對象){//異常處理}try{//……}finally{//對象清理的代碼}try{//……}catch(異常對象){//異常處理}finally{//對象清理的代碼}32/41定位異常類型在C#中如何準確的

確定異常的類型?try{//引發(fā)IO異?!?/p>

//引發(fā)數(shù)據(jù)庫操作異常……//引發(fā)其它異?!瓆catch(Exceptionex){//異常處理}try{//引發(fā)IO異?!?/p>

//引發(fā)數(shù)據(jù)庫操作異?!?/引發(fā)其它異?!瓆catch(IOExceptionex){//處理IO異常}catch(SqlExceptionex){//處理SQL異常}catch(Exceptionex){//處理其它異常}多路捕獲問題33/41多路捕獲異常處理多路捕獲異常處理的

代碼結構try{//可能引發(fā)

異常的代碼……}catch(異常類型1ex){//處理異常類型1}……catch(異常類型Nex){//處理異常類型N}catch(Exceptionex){//處理其它異常}注意:子類異常在前,基類異常在后演示示例3:多路捕獲異常處理語法34/41拋出異常使用throw拋出異常//方式一try{//可能引發(fā)異常的代碼}catch(SqlExceptionex){

throwex;}catch(Exceptionex){throwex;}//方式二try{//可能引發(fā)異常的代碼}catch(SqlExceptionex){

throw;}catch(Exceptionex){throw;}演示示例:使用throw重新拋出異常結論:使用方式二可以更精確的定位異常發(fā)生的位置35/41學員操作——登錄功能的異常處理2-1

訓練要點使用throw語句拋出異常異常的多路捕獲需求說明實現(xiàn)登錄功能數(shù)據(jù)訪問層和表示層方法的異常處理在數(shù)據(jù)訪問層多路捕獲異常,并重新拋出在表示層多路捕獲異常,數(shù)據(jù)訪問異常提示“數(shù)據(jù)庫操作失敗”,其它異常提示“發(fā)生未知異常,請聯(lián)系廠商”指導36/41講解需求說明學員操作——登錄功能的異常處理2-2

實現(xiàn)思路數(shù)據(jù)訪問層方法中添加異常處理,將捕捉的異常拋出在表示層捕捉異常SQLException,提示“數(shù)據(jù)庫操作失敗”在表示層捕捉異常Exception,提示“發(fā)生未知異常,請聯(lián)系廠商”完成時間:15分鐘指導37/41總結分層架構的優(yōu)勢兩層架構中包含數(shù)據(jù)訪問層和表示層兩層架構的搭建步驟異常處理中可以使用多個catch進行多路捕獲異常38/41創(chuàng)建表示層創(chuàng)建數(shù)據(jù)訪

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論