在Magento 2中,工厂模式是什么用于?我是magento的新人,所以请你详细解释一下。
答案 0 :(得分:3)
工厂定义:
工厂是实例化非可注入类的服务类,即表示数据库实体的模型。它们在ObjectManager和业务代码之间创建了一个抽象层。
存储库的定义:
存储库对象负责读取和写入对象存储的对象信息
使用存储库进行完全加载
$model->load()
不是服务合同的一部分。我对该特定主题有疑问,您可能会发现答案有用:是否有理由更喜欢$model->load()
而不是服务合同?
使用工厂创建新实体
存储库没有提供创建新实体的方法,因此在这种情况下,您将需要一个工厂。但是使用工厂作为接口,例如Magento\Catalog\Api\Data\ProductInterfaceFactory
- 它将基于DI配置创建正确的实现。
然后使用repository->save()
方法进行保存。
更多信息,请参阅开发文档http://devdocs.magento.com/guides/v2.0/extension-dev-guide/factories.html