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

Ren*_*nga 3 design-patterns factory-pattern magento2

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

小智 6

工厂定义:

工厂是实例化不可注入类的服务类,即表示数据库实体的模型。它们在 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