Я смотрел несколько обучающих видеороликов Swift из Стэнфорда на youtube. Инструктор (Paul Hagerty, великий учитель!) Говорит о том, как iOS строится вокруг идеи MVC (model-view-controller). Я читал, что некоторые люди говорят о переполнении стека, что идея мертва, а другие говорят, что многие веб-разработчики используют эту терминологию сейчас.MVC, разница между контроллером и моделью?
У меня возникли проблемы с различием между контроллером и моделью. Я прочитал MVC, описанный как пользовательский интерфейс (веб-страница/пользовательский интерфейс), контроллер (сервер) и модель (база данных). Но инструктор описал это как представление (пользовательский интерфейс, который легко понять), модель (данные и логика, которая делает расчет, например), и контроллер (который соединяет модель и представление с вашей конкретной логикой программирования).
Что я не понимаю, если нет базы данных в случае автономного приложения (а не в Интернете), разве мы также не создаем данные и логику того, как наша программа работает в одно и то же время? В чем разница между контроллером и моделью в этой ситуации?
Итак, модель по существу является фактическим местом памяти на компьютере, где хранится что-то вроде массива (или любого объекта/данных)?Вот почему это похоже на пример базы данных, я бы предположил. Вывод и вставка того, что вы помещаете в массив, является контроллером, и представление отображает данные массива в пользовательском интерфейсе? – schulzey
Вы бы типично относились к более абстрактным терминам, чем к памяти. Модель обычно является объектом; это может быть простая строка или массив, как указано здесь, или более сложный объект, который инкапсулирует базу данных и включает в себя методы работы с моделью. Например, объект модели «заказ» может иметь методы добавления/удаления позиций из заказа, а также отправки заказа, маркировки его как оплаченного и т. Д. – Paulw11