在Magento 2中,工厂模式是什么用于?

时间:2018-03-18 15:19:36

标签: design-patterns magento2 factory-pattern

在Magento 2中,工厂模式是什么用于?我是magento的新人,所以请你详细解释一下。

1 个答案:

答案 0 :(得分:3)

工厂定义:

工厂是实例化非可注入类的服务类,即表示数据库实体的模型。它们在ObjectManager和业务代码之间创建了一个抽象层。

存储库的定义:

存储库对象负责读取和写入对象存储的对象信息

使用存储库进行完全加载 $model->load()不是服务合同的一部分。我对该特定主题有疑问,您可能会发现答案有用:是否有理由更喜欢$model->load()而不是服务合同?

使用工厂创建新实体 存储库没有提供创建新实体的方法,因此在这种情况下,您将需要一个工厂。但是使用工厂作为接口,例如Magento\Catalog\Api\Data\ProductInterfaceFactory - 它将基于DI配置创建正确的实现。

然后使用repository->save()方法进行保存。

https://magento.stackexchange.com/questions/158081/when-should-we-use-a-repository-and-factory-in-magento-2

更多信息,请参阅开发文档http://devdocs.magento.com/guides/v2.0/extension-dev-guide/factories.html