




免費預覽已結束,剩余1頁可下載查看
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
講解三層結構和抽象工廠模式 這里我們結合課件,采用案例演示教學法,層層深入,大把這個難點講解完成。前面課程已經(jīng)講解簡單三層授課技巧,后續(xù)任務在此基礎上實現(xiàn)。操作流程:1. 添加一個新的項目(類庫):AccessDAL。2. 修改原先的DAL層名稱為SQLDAL,并修改所有的該層命名空間為SQLDAL.并修改此項目的屬性的程序集名稱和默認命名空間名稱為SQLDAL。3. 修改BLL層所有相關DAL層的引用。using SQLDAL4. 編譯項目,重新生成。 接口的引入和簡單工廠:為什么要使用接口呢,現(xiàn)在的軟件產(chǎn)品不可能指針對一個數(shù)據(jù)庫,如勞資管理系統(tǒng),大公司使用SQL Server,小公司可能使用access就夠用了,那么如何讓一套程序既可使用SQL Server又可使用Access作為數(shù)據(jù)庫呢,答案是我們在數(shù)據(jù)訪問層使用統(tǒng)一的接口,讓訪問SQL Server和Access的類都實現(xiàn)這個接口,然后通過接口調(diào)用具體的實現(xiàn)。具體的演示方法是在前面代碼的基礎上點擊DAL層的類,右鍵選擇重構,選擇提取接口,這樣一個接口就出現(xiàn)了。如下圖所示: 圖三 提取接口我們這里為了更加的規(guī)范,建立一個接口層的類庫IDAL,將這個接口移到這個類庫IDAL中,要注意刪除原有在SQLDAL中的接口。重新編譯,修改錯誤。修改原先引用接口的代碼:IDAL.IGuestService在數(shù)據(jù)訪問層添加對IDAL的引用,并增加using IDAL代碼。同時調(diào)整拷貝到IDAL層的接口相關的代碼,修改其命名空間。namespace IDAL。在業(yè)務邏輯層增加對IDAL的引用。在IDAL添加對Models的引用。接口建立以后,為了可以使用Access庫,我們添加新的數(shù)據(jù)層AccessDAL,再添加一個GuestService類(注意必須和原有的Sqldal層類同名)并實現(xiàn)現(xiàn)剛剛創(chuàng)建的接口。為了方便演示有一個技巧,你可以復制上面的代碼到AccessDAL類庫中,并做對應修改,返回值為空或true即可。最后修改BLL層的調(diào)用方式為接口調(diào)用,用接口隱示的聲明,用類顯示的實現(xiàn)調(diào)用,對于訪問SQLServer數(shù)據(jù)庫具體的代碼是:private readonly IGuestService guestService = new GuestService();如果需要訪問Access庫,稍加改動就變成訪問Access庫,只需要修改對應的using AccessDAL;邏輯層代碼變?yōu)椋航涌诰涂梢詫崿F(xiàn)訪問不同的數(shù)據(jù)庫我們?yōu)槭裁床捎霉S模式呢,原因有兩個,第一是客戶提出新需求,自己不改變源碼就更換為其他數(shù)據(jù)庫;第二是從開發(fā)公司考慮,為了適應不同的數(shù)據(jù)庫,每次需要修改BLL層源代碼,再編譯程序,發(fā)布程序比較麻煩。那么具體實現(xiàn)步驟是創(chuàng)建新的工廠項目類,添加類DALFactory,然后在類中實現(xiàn)返回實現(xiàn)產(chǎn)品接口的方法,通過Web.Config讀取配置數(shù)據(jù),針對不同數(shù)據(jù)庫,返回不同實現(xiàn)接口的對象,最后修改BLL層的調(diào)用方式為工廠調(diào)用,用接口隱示聲明,;這樣我們就可以通過修改配置文件實現(xiàn)不同數(shù)據(jù)庫的訪問,實現(xiàn)了簡單工廠的設計模式。(不深入,直接轉入用抽象工廠。)抽象工廠:有了簡單工廠,為什么還要使用抽象工廠呢,原因是一個大的軟件項目中包括很多的模塊,不同的模塊就要創(chuàng)建不同的接口,那么如何返回很多實現(xiàn)接口的對象呢 ,在簡單工廠模式中只能編寫多塊相似的代碼,通過判斷數(shù)據(jù)庫的類型返回具體的對象,這樣就造成大量的代碼冗余,這里采用優(yōu)化的方法,即抽象公共的部分,通過抽象類調(diào)用具體的實現(xiàn)類,可以產(chǎn)生一批有關聯(lián)的產(chǎn)品,例如通過配置文件讀取是Access數(shù)據(jù)庫類型,那么得到是Access的工廠,工廠里的產(chǎn)品都是通過訪問Access數(shù)據(jù)庫數(shù)據(jù)產(chǎn)生的產(chǎn)品。可以說對于簡單工廠模式一次只能創(chuàng)建一個對象,而對于抽象工廠模式實現(xiàn)一次創(chuàng)建一系列相互依賴對象的需求。具體的演示實現(xiàn)步驟是:為表示層增加一個app.config。然后添加一個項目DALFactory,并增加一個類:AbstractFactory。添加相應的抽象方法CreateGuestService,通過讀取對應的配置文件app.config,返回實現(xiàn)抽象類的工廠;1. 為工廠類添加引用System.configuration。2. 增加代碼string path = ConfigurationManager.AppSettingsDBType.ToString();,獲取app。config中的配置數(shù)據(jù)庫選項信息。3. 修改工廠代碼如下:4.5.邏輯層修改如下:去掉對SQLDAL的引用,更改為引用工廠。using DALFactory;這樣我們就將數(shù)據(jù)訪問層的內(nèi)容進行了細化,首先引入接口,然后引入抽象工廠模式,通過演示讓學員明白為什么要抽象工廠以及如何使用它。具體的講解思路如下圖4所示:圖四 細化數(shù)據(jù)訪問層這里我們演示完成后,學員還無法透徹地理解抽象工廠模式,下面共享一個生活案例給大家,通過案例剖析抽象工廠的實現(xiàn)方式,首先看下圖圖五圖五:抽象工廠一客戶是什么?這里我們說的客戶是指調(diào)用者,具體而言如網(wǎng)站的美工設計人員;那么地圖是什么呢?指配置文件,快餐點比喻我們的抽象工廠,漢堡和雞腿比喻抽象產(chǎn)品,客戶即調(diào)用者只知道這些,具體的哪個快餐店,如何制作什么漢堡,客戶并不關心,只要能到最方便的快餐店吃到漢堡,填飽肚子即可。具體的工廠是肯德基和麥當勞,具體產(chǎn)品是KFC的漢堡、KFC雞腿,他們這一組是相關的,另外一組是McDonald漢堡、McDonald雞腿,他們兩個是相關的,是可以左手拿著McDonald漢堡,右手拿著McDonald雞腿狼吞虎咽的;我們把相關的產(chǎn)品,稱為一系列的產(chǎn)品,你還想吃薯條,稍微擴展一下,加一個薯條的產(chǎn)品,包括抽象薯條和
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國水產(chǎn)飼料行業(yè)市場發(fā)展分析及發(fā)展前景與投資研究報告
- 2025-2030年中國森林采伐機行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030年中國檸檬色手鐲行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030年中國松粉行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030年中國機場建設行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030年中國木糖醇膠行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030年中國有色玻璃行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030年中國暖通空調(diào)設備行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030年中國智能移動POS行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030年中國智能手機配件行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- (完整版)醫(yī)療器械網(wǎng)絡交易服務第三方平臺質(zhì)量管理文件
- 中國動漫發(fā)展史課件
- 【履職清單】2023新版安全生產(chǎn)責任體系重點崗位履職清單
- 門式起重機、架橋機作業(yè)前安全隱患排查表
- 安全閥在線校驗及延期校驗
- GB/T 19670-2023機械安全防止意外啟動
- GB/T 9128.1-2023鋼制管法蘭用金屬環(huán)墊第1部分:PN系列
- 幼兒園新生入園報名登記表
- 中國臨床戒煙指南的指導意義
- (完整版)EORTC生命質(zhì)量測定量表QLQ-C30(V3.0)
- 醫(yī)院醫(yī)學影像科CT-MR室診療指南和操作規(guī)范2022版
評論
0/150
提交評論