基於下面的URL,存儲庫的圖案基本上是存儲庫對象的層,其用於封裝數據的訪問:存儲庫模式變化?
http://martinfowler.com/eaaCatalog/repository.html
例如,UserRepository對象將具有GetUsers()方法是這樣
public User GetUsers()
{
return context.Users;
}
這是所有存在的存儲庫模式還是有更多的呢?這種模式是否有任何已命名的變體?例如,我想我曾經遇到過一個人,他聲稱這種模式涉及實體的通用/動態CRUD。例如,由於CRUD是一個基本和可重複的模式,存儲庫模式將爲任何/所有實體動態提供CRUD功能。我猜想是這樣的:new Repository()。Read()。有沒有這個Repository模式的變體名稱?
謝謝。你知道我在我的帖子中描述的其他模式的名稱嗎?:var users = new Repository().ReadAll()雖然Repository模式可能不是最好的,但我確信它可以用一個或多個設計模式來描述描述它的方式。總而言之,該實現基於所有實體將共享通用/可重複CRUD方法的某個子集的事實。 –
user6411982
ReadAll()或GetAll()仍然適合Repository Pattern的保護範圍。你甚至可以適應具有諸如GetWhere(謂詞)或類似查詢參數的方法。 –
關於我最後的評論,我將其稱爲「動態存儲庫」模式,除非其他人能夠識別與此實現相關的更正式的設計模式 – user6411982