Portanto, como alguns de vocês devem saber, a maneira recomendada pelo Magento 2 de lidar com modelos / coleções para ações de CRUD é usar contratos de serviço.
Mas ainda de acordo com as perguntas e respostas do Magento SE, parece que a maioria das pessoas costuma usar o modelo / modelo de recurso / coleção diretamente.
Como exemplo para carregar uma cotação, eu posso fazê-lo diretamente na fábrica assim:
$this->quoteFactory->create()->load($quoteId);
Onde $this->quoteFactory
é uma instância de\Magento\Quote\Model\QuoteFactory
Mas também posso fazê-lo através de contrato de serviço como este:
$this->quoteRepository->get($quoteId);
Onde $this->quoteRepository
é uma instância de\Magento\Quote\Api\CartRepositoryInterface
Então, minhas perguntas são quais são os benefícios do uso de contratos de serviço sobre fábricas?
fonte