Лучше изменить моникер на что-то более точное
Алгоритмический код, код IO, код управления инициализацией / временем выполнения, код ошибки / прерывания, код события / сообщения.
или код ввода / вывода пользователя, внутренний служебный код, ориентированный на данные код, код состояния программы.
MVC оказывает неблагоприятное вирусное воздействие на системы кода, заставляя его жесткую модель действовать на всех
проектирование операций в кодовой базе . Вот почему профессорам CS и поставщикам программного обеспечения на основе моделей это нравится, а не потому, что оно превосходит ту или иную парадигму. Разделение обязанностей позволяет более четко моделировать и пересматривать на этапе планирования, и это прекрасно для проектирования базы данных, но не является правильным инструментом для каждой задачи программирования.
Взаимосвязанное программирование событий (игры, робототехника, руководство) позволяет использовать парадигмы обмена сообщениями с центральным контроллером сообщений, но представления данных могут или не могут потребоваться для взаимодействия.
Повторное использование кода является определяющей причиной желания MVC, так что все представления могут быть присоединены ко всем моделям с помощью одного объекта контроллера. Это глупо во многих случаях. Истинный OO будет диктовать, что каждый объект знает, как просматривать (выполнять IO) на себя. Чистым MVC было бы то, что объекты модели не имели бы понятия о IO или о том, для чего они используются, и Controller управляет всем этим, создавая представления для каждого объекта. Но ничто не является чистым, и существует много сообщений между всеми тремя типами объектов.
Кроме того, в большинстве компьютерных языков есть вещи, которые не являются объектами, и разные способы их изменения.
У MVC есть более ранний предок, который, как полагают во всех книгах, вы понимаете: базовую модель ИНИЦИАЛИЗАЦИЯ, ВХОД, ХРАНЕНИЕ, ОБРАБОТКА, ВЫХОД, ФИНАЛИЗАЦИЯ , которая, конечно, не может существовать ни одна программа без последующей. Получите правильное 6, и не имеет значения, процедурный ли он, MVC, основанный на событиях или спагетти.
Это имеет значение в последовательности: определить Проблемная область, Проектное решение, Внедрить, Отладка, Редизайн, Цикл тестирования / отладки, Развернуть, Сохранить / Изменить цикл .
MVC - это скорее методология взаимодействия для объектов в системе, чем «Лучший способ программирования».
По своей природе это иерархическая система с контроллером наверху, когда реальная работа выполнена
алгоритмическим кодом. Возможно, лучшая модель для некоторых задач состоит в том, чтобы модель представляла собой собственный контроллер и работала непосредственно с IO-кодом (представлениями), а не со средним уровнем обработки объектов.