Мы можем расширить контроллер двумя способами: используя настройки и используя плагин. Но я не понимаю, что является хорошим и преимущества / недостатки предпочтения по сравнению с плагином.
<preference for="Magento\Checkout\Controller\Index\Index" type="mymodule\Helloworld\Controller\Index\Index" />
<type name="Magento\Catalog\Model\Product">
<plugin name="getname-test-module" type="mymodule\Helloworld\Model\Plugin\Product" sortOrder="10"/>
</type>