Таким образом, как некоторые из вас могут знать, рекомендуемый Magento 2 способ работы с моделями / коллекциями для действий CRUD - это использование сервисных контрактов.
Но все же, согласно Magento SE Q & A, кажется, что большинство людей склонны использовать модель / модель ресурсов / коллекцию напрямую.
В качестве примера для загрузки цитаты я могу сделать это напрямую через фабрику следующим образом:
$this->quoteFactory->create()->load($quoteId);
Где $this->quoteFactory
экземпляр\Magento\Quote\Model\QuoteFactory
Но я также могу сделать это через сервисный контракт, например:
$this->quoteRepository->get($quoteId);
Где $this->quoteRepository
экземпляр\Magento\Quote\Api\CartRepositoryInterface
Итак, мои вопросы: каковы преимущества использования сервисных контрактов над фабриками?
источник