2009-11-10 85 views
0

我想知道如果我可以使用存储库模式除了数据库层以外的任何东西吗?存储库模式:仅用于数据库源?

我已经使用其中I存储在ShopCartRepository类阵列的购物车项的询盘图案。然后使用ShopCartController类从ShopCartRepository获取数据。

如前所述,ShopCartRepository只处理数组,因此不处理数据库。

这是使用存储库模式的“合法”方法吗?

回答

4

Repository模式有利于在其中你想有控制的创建,检索,修改和删除数据从一组过程使用的一个集中的地方任何情况下,无论是数据库表,在内存中的列表,管他呢;这种抽象的力量正是使这种模式具有价值的原因。当然,以任何对您的项目有意义的方式使用它都是合法的。

1

存储库模式不仅适用于数据库。

但是,它通常用于抽象出一些处理数据层域对象的方法。如果您严格使用ShoppingCart,那么为什么不将方法添加到ShoppingCart中,以便购物车可以像购物车一样运行,而不必担心使用ShoppingCard和ShoppingCartRepository?

+0

我同意,唯一一次我看到使用的存储库是如果你选择的项目的倍数。在购物车的情况下,您永远不需要向用户显示多个购物车,因此似乎应该在该对象本身中处理这些方法。 – Lumpy 2009-11-11 14:11:57