還記得先前以「使用 Entity Framework 執行動作的 API 控制器」Scaffold 自動產生了 Address 物件的 CRUD 方法嗎?這種以專用模版自動套出程式碼的開發方式,對於簡單的小案子或許合適,且可以快速地完成工作,但是對於複雜的企業級應用程式就不太適合了,其中一個問題就如先前在講解 ViewModel 時所說過的,對用者介面透露過剩(或是不適宜)的資料,另一個問題就是直接在使用者介面層中(以目前的情形是在控制器中)撰寫資料存取的程式碼,這可能造成應用程式之間的耦合度過高,以及相同的程式碼重複寫好幾次的可能。為什麼會這樣呢?今天就來細說分明,並且介紹一個稱為 Repository Pattern 的設計模式(Design Pattern)
2017-06-29