前幾天算是開題了,關於怎麼做自己想了很多,但畢竟沒做過項目既不知道這些想法有無必要,也不知道能不能實現,不過鄧爺爺說過“摸著石頭過河”吧。這段時間看了一些博主的文章收獲很大,特別是@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個項目算是三層架構中的間數據數據訪問層和業務邏輯層,另外還是用了面向接口。下次終於可以寫代碼了。