存储库和工厂模式之间的差异

时间:2009-07-09 14:34:29

标签: c# oop design-patterns

您能否概述存储库模式与工厂模式之间的差异?

3 个答案:

答案 0 :(得分:57)

The Factory pattern用于创建对象,而the Repository pattern描述了针对数据源封装CRUD操作的一般方法。

答案 1 :(得分:20)

存储库模式处理创建一组数据访问服务,即。 CRUD方法。 另一方面,工厂模式处理对象的创建方式。工厂类将有一个返回类的新实例的方法。

这两者是相互独立的;但是,您经常会看到与存储库模式一起使用的工厂模式,以便创建实体的新实例。

答案 2 :(得分:0)

我认为区别在于两者的用法。

如果要创建对象并用数据库数据填充这些对象,则将使用存储库。您可以在CustomerRepository中使用所有相关方法来检索和操作Customers

如果要创建对象并用数据填充这些对象,请使用Factory。一个示例可以是ColorFactory。您可以用很多可能的RGB颜色填充该颜色,以后再使用。

如果您查看诸如“保存”数据之类的内容,则还可以使用不同的词语,如:存储,保存和持久化。虽然这三种可能做相同的事情,但它们都被用于不同的目的:-)