Думаю нет, опенкарт написан достаточно "в лоб", я в свое время писал расширения под разные версии и никогда мне не приходилось использовать паттерны проектирования, интерфейсы (абстрактные классы) и т. д., точнее Вас в принципе никто не ограничивает, но это время, а время в опенкарте часто низко ценится, а поскольку в самой цмс присутствуют свои нюансы:
- различные сборки которые имеют разные глюки
- кеш(оцмод/вкюмод, редко бывает мега ад когда оба функционируют одновременно),
- шаблон который почти всегда не подходит для Вашего проект
- конфликт расширений между собой
то все сводится к тому как можно быстрее сделать и забыть.
Опенкарт обычная MVC система где
M представлена набором запросов в бд
V до третьей версии это были обычные пхп файлы с хтмл разметкой, в третьей версии они подключили шаблонизатор твиг
С обычно огромный класс который все и делает