[問題] ASP.NET MVC 分層式架構問題

看板C_Sharp作者 (LaDaDee)時間6年前 (2017/07/15 17:31), 編輯推噓3(309)
留言12則, 5人參與, 最新討論串1/1
想請教各位前輩 小弟目前接觸MVC未滿一年,因公司資深人員不是主要寫mvc的,所以都自行在網路上學習 最近在看分層架構 基本上都是 Repository + Unit of Work 但也有看到說 Entity Framework 已經提供類似的功能 所以不需要另外做 搞得小弟有點 混亂 GitHub 找了幾個別人做的專案來看 還是都有這樣做 不曉得各位前輩的作法是什麼 ?? 另外在 "博客园的大牛们,被你们害惨了,Entity Framework从来都不需要去写 Repository设计模式" 一文中 看見下方的評論有人回了一段程式 public class EFRepository : IEFRepository { ... public void Insert<T>(T entity) where T : class { context.Set<T>().Add(entity); } .... } 用的時候 repository.Get<T_Customer>(x => x.CustomerId == customerID); 跟一般常見的每種表都要建一個倉儲,比起來只要一個倉儲 請問這種作法有比較好嗎 ?? 現在也還不會單元測試,不曉得是不是寫單元測試的時候會有困難 以上問題懇請賜教 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.241.153.178 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1500111064.A.1E7.html

07/15 18:40, , 1F
個人覺得entity framework(應該說ORM)是一種repository的實
07/15 18:40, 1F

07/15 18:43, , 2F
作,同一層的是像自己寫SQL或是其他的data object mapping
07/15 18:43, 2F

07/15 18:45, , 3F
如果有天要換EF還不支援的資料存取例如NoSQL、cloud db
07/15 18:45, 3F

07/15 18:46, , 4F
還是需要能抽換成別的repository實作
07/15 18:46, 4F

07/15 18:51, , 5F
雖然理論上把EF介面當repository介面,換DB就換provider也
07/15 18:51, 5F

07/15 18:52, , 6F
是可以,但遇到沒provider要自己寫一個,要花的工一定是大
07/15 18:52, 6F

07/15 18:52, , 7F
於寫個自己的repository的實作
07/15 18:52, 7F

07/15 19:20, , 8F
他回這個基本上,跟所謂的包出來的分層差不多啊,就是你
07/15 19:20, 8F

07/15 19:20, , 9F
專注在model,service就好了
07/15 19:20, 9F

07/15 22:11, , 10F
當你沒有抽換這層的需要的時候,就不用做
07/15 22:11, 10F

07/16 02:03, , 11F
不寫 Repository +1,做幾十個專案沒遇過說要抽換資料庫
07/16 02:03, 11F

07/16 20:06, , 12F
感謝各位前輩的回覆
07/16 20:06, 12F
文章代碼(AID): #1PQU3O7d (C_Sharp)