倉儲 (設計模式)

倉儲（repository）是軟體工程裡的一種设计模式。倉儲是位在領域層和資料存取層之間的介面。此設計模式特別適用於有不同的領域物件，或是對資料存取層有許多不同的存取方式的情形。

在概念上，倉儲封裝了資料存取層持久化的物件，並且提供存取方式，不受物件存在資料庫或是從Web服务（或其他方式）讀取所影響。這可以對資料存取層有物件導向的存取，在領域層和資料存取層之間有清楚的分隔，以及單向的相依性。

實現
對領域層而言，倉儲像是]領域物件的列表。可以在其中加入或刪除領域物件，就像對記憶體的列表作對應處理一樣。倉儲處理和資料存取層的映射，以及呼叫對應動作。而且，可以透過倉儲，用宣告式的搜尋查詢，對資料存取層進行查詢。在這些例子，使用倉儲設計模式可以減少其他地方需要實現的搜尋邏輯。
相關條目
領域驅動設計

Category:軟體設計模式