Если я вас правильно понимаю, у вас есть ряд общих поведений среди ваших нормативных документов, видео и подкастов.
В этом случае вам, вероятно, следует попытаться абстрагировать общие черты в родительский класс, от которого наследуются эти три области.
В качестве примера, у меня есть своя собственная структура MVC, в которой я определяю суперкласс tnh_controller, от которого наследуются мои другие контроллеры (например, venue_controller, group_controller). В родительском контроллере я определяю методы header () и footer () и delete (). Затем я могу использовать их в детских классах и сэкономить немного усилий.
Вы также можете выполнить некоторые общие задачи для своих моделей (CRUD) в суперклассе моделей, переопределяя их только по мере необходимости. Большая часть логики для разных моделей основана на переменных класса (имена таблиц, имена столбцов и т. Д.).
Я бы не стал слишком беспокоиться о том, чтобы быть "строгим" MVC. Вместо этого попытайтесь решить, что сэкономит ваше время и сохранит ваш код организованным. Звучит так, будто вы на правильном пути, ведя подобное поведение на родительском уровне.