MVC в контексте разработки iPhone - PullRequest
9 голосов
/ 21 октября 2011

Я прочитал несколько ресурсов о шаблоне проектирования MVC для разработки приложений для iPhone.Однако у меня есть один вопрос, связанный с Модельной частью MVC в контексте разработки iPhone.

Во-первых, я хотел бы сказать, что я думаю о MVC,

Модель: связанак данным, которые мы имеем относительно объектов нашего приложения.Пример: применение симулятора поезда чем, Каждый поезд на симуляции будет иметь свои собственные атрибуты, которые будут сохранены в модели поезда.

Контроллер: это то, что контролирует обновления пользовательского интерфейса,Он сохраняет ссылку на модель поезда и проверяет любые изменения в модели, если есть, чем изменить вид этого конкретного поезда.И он продолжает проверять любой ввод пользовательского интерфейса, чтобы он мог изменять данные внутри модели.

View: Это довольно очевидное представление - все о UIView, что мы видим на экране.

enter image description here

Теперь вопрос ...

Должна ли модель быть постоянной, чтобы считаться моделью?или я могу иметь класс, который имеет переменные без каких-либо постоянства.Будет ли это также рассматриваться как Модель, или Модель должна храниться где-нибудь, как в CoreData или .Txt файле и т. Д.

Спасибо за любой ввод!

Ответы [ 3 ]

7 голосов
/ 21 октября 2011

Должна ли модель быть постоянной, чтобы считаться моделью?

Может изменяться или преобразовываться, если ваш контроллер может его поддерживать.

Модель должна храниться где-нибудь, как в CoreData или .Txt файле

Совсем нет.

Вы можете использовать любую модель, если применимо. Модель - это просто очередная абстракция вашей реальной логики / базы данных / доступа к сети / блаблабла ...

3 голосов
/ 21 октября 2011

Нет, модель не должна быть постоянной.

Теоретически, хорошим способом начать ваш проект было бы использование непостоянной модели для простоты. Затем, когда вы измените свою модель, чтобы она стала постоянной, вам не нужно будет вносить какие-либо изменения в ваше представление или контроллер, так как вы будете проектировать интерфейс, не зная деталей модели.

На практике это не очень хорошая идея для iPhone, если вы планируете использовать базовые данные для своей модели, когда вы делаете ее постоянной. Базовые данные требуют, чтобы вы разработали свои классы немного по-другому. Даже если вам не нужно вносить много изменений в свое представление и код контроллера при изменении вашей модели, вам придется внести много изменений в код вашей модели. Если вы знаете, что будете использовать Core Data, лучше сразу начните с него.

3 голосов
/ 21 октября 2011

Нет, идея MVC на самом деле не относится к базам данных, хотя это обычно.Модель просто должна охватить всю бизнес-логику.Если вы строите калькулятор, представление - это дисплей, а кнопки, модель - это часть кода, которая знает, как складывать и вычитать, а контроллер - это то, что соединяет их.Постоянство не требуется.

...