Home Tags USB Type-C

Tag: USB Type-C

- Advertisement -
Google search engine

APLICATIONS

用 Repository Pattern 抽離對 Entity Framework 的依賴 (.NET MVC 5 Ch.9)

0
在上一篇介紹完了如何讓ViewModel和Entity之間的轉換透過AutoMapper變的更簡單,然後透過框架讓設定ViewModel和Entity之間的對應關係變的容易。 在這一篇,將會看Data Access Layer (DAL)的部份,也就是儲存資料層的部份。 同步發表於我的部落格:http://alantsai2007.blogspot.tw/2014/10/BuildYourOwnApplicationFrameworkOnMvc-09-RepositoryPattern.html Data Acce Layer (DAL) 不管任何大小的軟體,通常都會需要儲存資料。而這個儲存資料最常見的就是儲存到資料庫裡面。以Asp .Net Mvc來說,最常見的就是透過Entity Framework這個ORM的技術來儲存到實體的資料庫,例如MS Sql,Oracle等。 而如果以Entity Framework來講,它所在的角色就屬於DAL層。 以一般比較常見的三層是架構,大概就會如下圖: 一般的三層式架構 - 裡面白色的表示Mvc裡面比和3層式架構較相近的對應 用Entity Framework做DAL的問題 其實這個問題不只有使用Entity Framework會,任何的DAL實作都有這個問題。 舉個例子來說,假設今天我們用的是Entity Framework作為DAL層,如果開發到一半,對方突然要求不要使用Entity Framework,而是要改成傳統的ADO .Net作為DAL怎麼辦? 或者說如果要做單元測試(Unit Testing),肯定不希望在跑的時候還是連資料庫,而是希望連一些假資料,這時候怎麼辦? 解決方法其實很簡單,就是把實際的DAL在抽一層出來,就有了所謂的Repository Pattern。 Repository Pattern 一般來說,在寫Mvc裡面最長看到的Pattern就是Repository Pattern。 這個Pattern概念非常簡單,Repository其實有儲存庫的意思,所以這個Pattern的意思是,把實際的DAL層透過所謂的Repository封裝之後,從外面的角度來說是和Repository 溝通來取得資料,至於Repository的資料來源是那裡,就不管了。 文字敘述可能有些抽象,我們來看一張圖: Repository的好處:圖片來源: Implementing...

HOT NEWS