Я начал кодировать довольно сложное веб-приложение, и оно стало довольно беспорядочным.
Поэтому я решил, что постараюсь организовать это лучше. MVC показался уместным.
Я никогда не использовал MVC раньше, и, исследуя его, я пытаюсь закрепить лучшее восприятие этого (и мои вопросы, очевидно, отражают то, что, я думаю, я выучил до сих пор).
Мои вопросы слегка ориентированы на JavaScript:
Какой объект должен делать запросы "AJAX"? Контроллер или Модель? (разделение - должна ли Модель просто хранить / манипулировать данными, ей не важно / не знать, откуда поступили данные, или это должна быть та, которая их извлекает?)
Должна ли модель вызывать функции View, предоставляя им данные в качестве аргументов, или View должен запрашивать (ссылаться) модель внутри себя? (помните о принципах разделения: «Представлению не должно быть важно знать / откуда оно получает данные» - это правильно?)
В общем, должен ли Вид «знать» о существовании Модели и наоборот? Контроллер - единственное, что склеивает их, или это просто неправильно? (Я действительно сомневаюсь, что это утверждение в целом верно)
Есть большая вероятность, что я захочу перенести это в настольное / мобильное приложение, поэтому я бы хотел разделить компоненты таким образом, чтобы я мог выполнить эту задачу, заменив текущий источник данных, HTTP-запросы , с доступом к БД и заменой View.
Может быть, каждый подход, о котором я спрашивал, все еще "действителен" MVC, и мне остается только выбрать. Я понимаю, что ничего не установлено в камне, я просто пытаюсь иметь (лучшую) общую идею в моей голове.