前幾天算是開題了,關於怎麼做自己想了很多,但畢竟沒做過項目既不知道這些想法有無必要,也不知道能不能實現,不過鄧爺爺說過“摸著石頭過河”吧。這段時間看了一些博主的文章收穫很大,特別是@kencery,依葫蘆畫瓢開寫。
一、基本架構
還是先說下基本架構吧,一下子搞了7個項目看著挺亂的,我的理解是M、V、C 3者中,M是資料載體,V是使用者要看的試圖,C主要是協調控制與使用者介面相關的操作,而資料的處理,資料庫的的操作交給DAL、BLL來做。整個思路就是:View是使用者看到的介面;Controller負責協調使用者操作的東西,需要或處理資料時找商務邏輯層;商務邏輯層需要訪問資料庫時又找資料訪問層;資料訪問層通過EF與Sql Server進行互動;各層之間資料互動的媒介就是Model。
這裡IBLL和IDAL是介面,功能都在BLL和DAL中實現了,看似有些多餘,其實還是很有用處。一個是介面只實現方法定義看起來一目瞭然;另一個是只要介面不變,不管實現的代碼怎麼寫項目間的調用都不會變。
二、項目建立
1、建立Web項目。
選擇模板->Visual C#->Web->ASP.NET Web應用程式。
這裡與vs2012中有一個顯著地變化,webform、mvc 、api等做的一個模板中了。如圖
如果想像以前一樣開發怎麼辦? 點開web-> Visual Studio 2012 是不是熟悉的感覺又回來了。
我們這裡還是選擇Web->ASP.NET Web應用程式 確定。
這裡選擇MVC(可以選擇添加webform、api的引用,把以前的幾種項目雜燴到一起。這裡只選MVC),身分識別驗證選個人使用者賬戶,這樣會添加最新的ASP.NET Identity的使用代碼(其實選什麼無所謂,這裡不打算使用ASP.NET Identity,使用者管理還是自己來做,選上它是想看看微軟的代碼是怎麼寫的)。
2、建立其他6個項目
在解決方案上點右鍵->添加->建立項目
項目類型選擇->Visual C# –>Windows->類庫。
以此建立其他六個項目。
完工後架構如下:
三、項目之間的引用
項目建立好之後要添加項目間的引用。
在web項目的引用上點右鍵,選擇解決方案->項目 添加Ninesky.Models、 Ninesky.Common、 Ninesky.IBLL、 Ninesky.BLL的引用
依次:IDAL添加Ninesky.Models引用
DAL添加Ninesky.Modles、 Ninesky.IDAL引用
IBLL添加Ninesky.Modles引用
BLL添加Ninesky.Models、 Ninesky.IDAL、 Ninesky.DAL、 Ninesky.IBLL引用
另外DAL Models要在Nuget上添加 EntityFramework的引用。方法是項目引用上點右鍵選擇管理NUGET程式包。在快顯視窗中選 聯機->nuget.org->EntityFramework 然後點安裝就可自動完成安裝。
到此架構算是搭完了。這裡web項目代表了mvc中的v和c。modle項目代表了m。common項目準備寫公用方法。其他4個項目算是三層架構中的間資料資料訪問層和商務邏輯層,另外還是用了面向介面。下次終於可以寫代碼了。