Como algunos de ustedes saben, la forma recomendada de Magento 2 de manejar modelos / colecciones para acciones CRUD es usar contratos de servicio.
Pero aún así, según las preguntas y respuestas de Magento SE, parece que la mayoría de las personas tienden a usar el modelo / modelo de recurso / colección directamente en su lugar.
Como ejemplo para cargar una cotización, puedo hacerlo directamente a través de la fábrica de esta manera:
$this->quoteFactory->create()->load($quoteId);
¿Dónde $this->quoteFactory
está una instancia de\Magento\Quote\Model\QuoteFactory
Pero también puedo hacerlo a través de un contrato de servicio como este:
$this->quoteRepository->get($quoteId);
¿Dónde $this->quoteRepository
está una instancia de\Magento\Quote\Api\CartRepositoryInterface
Entonces, mi pregunta es ¿cuáles son los beneficios de usar contratos de servicio en lugar de fábricas?
fuente