WebForm模式開發(fā),我們通常用多層框架,比如訪問數(shù)據(jù)庫,我們?nèi)龑哟a框架一般是這樣:BLL->IDAL->DAL->數(shù)據(jù)庫就是BLL調(diào)用IDAL接口層,IDAL通過工廠去調(diào)用DAL層實(shí)現(xiàn)接口,然后DAL層則去訪問數(shù)據(jù)庫 但是在ASP.NET MVC中,我看了幾個(gè)開源項(xiàng)目:1、Oxite(微軟開源的,基于MVC開發(fā)的CMS系統(tǒng))2、NerdDinner (MVC源碼)配套電子教程3、Suteki.Shop發(fā)現(xiàn)他們有幾個(gè)特點(diǎn):特點(diǎn)1、他們都是通過 Controller->IRepository->Repository來調(diào)用數(shù)據(jù)的,有的是 Controller->IServices->Services->IRepository->Repository 的方式調(diào)用,只不過在Controller和Repository之間加了Services層。特點(diǎn)2、他們把讀取數(shù)據(jù)的和數(shù)據(jù)實(shí)體層都放在Models中,或和Models放一起特點(diǎn)3、三個(gè)項(xiàng)目全用的Linq to SQL,而不是用ADO.NET 我的問題是:1、“BLL->IDAL->DAL->數(shù)據(jù)庫” 和 “Controller->IServices->Services->IRepository->Repository->數(shù)據(jù)庫” 官方是不是推薦在MVC中使用后者?2、如果使用后者是在MVC中被推薦的,這兩種方式的區(qū)別在哪?因?yàn)槲矣X得IServices和IRepository接口中定義的接口方法幾乎是一樣的,那干嘛還要多搞一層,加個(gè)IServices干什么呢?
- 2 回答
- 0 關(guān)注
- 579 瀏覽
添加回答
舉報(bào)
0/150
提交
取消