ASP.NET?MVC5網(wǎng)站開發(fā)項(xiàng)目框架(二)
前幾天算是開題了,關(guān)于怎么做自己想了很多,但畢竟沒做過項(xiàng)目既不知道這些想法有無必要,也不知道能不能實(shí)現(xiàn),不過爺爺說過“摸著石頭過河”吧。這段時間看了一些博主的文章收獲很大,特別是@kencery,依葫蘆畫瓢開寫。
一、基本框架
還是先說下基本框架吧,一下子搞了7個項(xiàng)目看著挺亂的,我的理解是M、V、C 3者中,M是數(shù)據(jù)載體,V是用戶要看的試圖,C主要是協(xié)調(diào)控制與用戶界面相關(guān)的操作,而數(shù)據(jù)的處理,數(shù)據(jù)庫的的操作交給DAL、BLL來做。整個思路就是:View是用戶看到的界面;Controller負(fù)責(zé)協(xié)調(diào)用戶操作的東西,需要或處理數(shù)據(jù)時找業(yè)務(wù)邏輯層;業(yè)務(wù)邏輯層需要訪問數(shù)據(jù)庫時又找數(shù)據(jù)訪問層;數(shù)據(jù)訪問層通過EF與Sql Server進(jìn)行交互;各層之間數(shù)據(jù)交互的媒介就是Model。
這里IBLL和IDAL是接口,功能都在BLL和DAL中實(shí)現(xiàn)了,看似有些多余,其實(shí)還是很有用處。一個是接口只實(shí)現(xiàn)方法定義看起來一目了然;另一個是只要接口不變,不管實(shí)現(xiàn)的代碼怎么寫項(xiàng)目間的調(diào)用都不會變。
二、項(xiàng)目建立
1、建立Web項(xiàng)目。
選擇模板->Visual C#->Web->ASP.NET Web應(yīng)用程序。
這里與vs2012中有一個顯著地變化,webform、mvc 、api等做的一個模板中了。如圖
如果想像以前一樣開發(fā)怎么辦? 點(diǎn)開web-> Visual Studio 2012 是不是熟悉的感覺又回來了。
我們這里還是選擇Web->ASP.NET Web應(yīng)用程序 確定。
這里選擇MVC(可以選擇添加webform、api的引用,把以前的幾種項(xiàng)目雜燴到一起。這里只選MVC),身份驗(yàn)證選個人用戶賬戶,這樣會添加最新的ASP.NET Identity的使用代碼(其實(shí)選什么無所謂,這里不打算使用ASP.NET Identity,用戶管理還是自己來做,選上它是想看看微軟的代碼是怎么寫的)。
2、建立其他6個項(xiàng)目
在解決方案上點(diǎn)右鍵->添加->新建項(xiàng)目
項(xiàng)目類型選擇->Visual C# –>Windows->類庫。
以此建立其他六個項(xiàng)目。
完工后框架如下:
三、項(xiàng)目之間的引用
項(xiàng)目建立好之后要添加項(xiàng)目間的引用。
在web項(xiàng)目的引用上點(diǎn)右鍵,選擇解決方案->項(xiàng)目 添加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的引用。方法是項(xiàng)目引用上點(diǎn)右鍵選擇管理NUGET程序包。在彈出窗口中選 聯(lián)機(jī)->nuget.org->EntityFramework 然后點(diǎn)安裝就可自動完成安裝。
到此框架算是搭完了。這里web項(xiàng)目代表了mvc中的v和c。modle項(xiàng)目代表了m。common項(xiàng)目準(zhǔn)備寫公共方法。其他4個項(xiàng)目算是三層架構(gòu)中的間數(shù)據(jù)數(shù)據(jù)訪問層和業(yè)務(wù)邏輯層,另外還是用了面向接口。下次終于可以寫代碼了。
- ASP.NET?MVC5網(wǎng)站開發(fā)用戶登錄、注銷(五)
- PHP MVC模式在網(wǎng)站架構(gòu)中的實(shí)現(xiàn)分析
- ASP.NET?MVC5網(wǎng)站開發(fā)用戶注冊(四)
- ASP.NET?MVC5?網(wǎng)站開發(fā)框架模型、數(shù)據(jù)存儲、業(yè)務(wù)邏輯(三)
- MVC4 網(wǎng)站發(fā)布(整理+部分問題收集和解決方案)
- CodeIgniter php mvc框架 中國網(wǎng)站
- PHP發(fā)明人談MVC和網(wǎng)站設(shè)計(jì)架構(gòu) 貌似他不支持php用mvc
- ASP.NET?MVC5網(wǎng)站開發(fā)顯示文章列表(九)
- ASP.NET MVC5網(wǎng)站開發(fā)添加文章(八)
- 一步步打造簡單的MVC電商網(wǎng)站BooksStore(1)
相關(guān)文章
Asp.Net、asp實(shí)現(xiàn)的搜索引擎網(wǎng)址收錄檢查程序
這篇文章主要介紹了Asp.Net、asp實(shí)現(xiàn)的搜索引擎網(wǎng)址收錄檢查程序,即實(shí)現(xiàn)檢查一個網(wǎng)址是否被搜索引擎收錄功能的小程序,需要的朋友可以參考下2014-08-08.Net加密神器Eazfuscator.NET?2023.2?最新版使用教程
這篇文章主要介紹了.Net加密神器Eazfuscator.NET 2023.2最新版使用教程,本文通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06asp.net中引用同一個項(xiàng)目中的類庫 避免goToDefinition時不能到達(dá)真正的定義類
asp.net中引用同一個項(xiàng)目中的類庫 避免 goToDefinition時不能到達(dá)真正的定義類2011-10-10GridView中checkbox"全選/取消"完美兼容IE和Firefox
GridView中checkbox的的"全選/取消"使用還是比較頻繁的,本文有個不錯的示例完美兼容IE和Firefox,感興趣的朋友可以參考下,希望對大家有所幫助2013-10-10asp.net中調(diào)用Office來制作3D統(tǒng)計(jì)圖的實(shí)例代碼
這篇文章介紹了asp.net中調(diào)用Office來制作3D統(tǒng)計(jì)圖的實(shí)例代碼,有需要的朋友可以參考一下2013-11-11Aspnetpager對GridView分頁并順利導(dǎo)出Excel
這篇文章主要介紹了Aspnetpager對GridView分頁并順利導(dǎo)出Excel的相關(guān)資料,需要的朋友可以參考下2016-04-04