Многоуровневое мобильное приложение MVC

Я немного запутался в использовании шаблона MVC. У нас трехуровневая архитектура: данные, промежуточное ПО, интерфейс. Мы разрабатываем приложение для iPad, которое в основном выполняет следующие функции:

  • использует сервис JSON
  • показывает результаты в некоторой форме пользовательского интерфейса
  • пользователь взаимодействует (касается значка) / изменяет (редактирует ввод)
  • повторение...

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

Моя проблема в том, что я действительно не понимаю, как шаблон MVC вписывается в это. Я работаю только на уровне интерфейса (только разработка для iPad с помощью Cocoa Touch), должны ли мне иметь три компонента MVC в приложении для iPad? Или просто представление и контроллер?

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

Заранее спасибо.


person pgpb.padilla    schedule 22.01.2013    source источник
comment
Возможные дубликаты: stackoverflow.com/questions/899803/, stackoverflow.com/questions/1135056/, stackoverflow.com/questions/2843311/   -  person pgpb.padilla    schedule 13.08.2013


Ответы (1)


Поработав немного больше с шаблоном MVC и прочитав множество ссылок, большинство из них из вопросов здесь, в SO, я думаю, что могу дать такой ответ:

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

Оба метода можно использовать одновременно, поскольку их можно рассматривать как взаимодополняющие.

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

Вот краткое изложение того, как эти два метода могут быть применены для разработки мобильного приложения сервер-клиент.

Модель

Модель - это ваши данные и правила их изменения. Это означает, что часть вашей модели находится на уровне Обработка приложения. Данные могут быть локальными, т. Е. Храниться на устройстве, что означает, что они находятся на уровне Презентации, или могут быть удаленными, например, в БД и всех промежуточных объектах, которые представляют, которые находятся в Уровень данных.

Просмотр

Просмотр находится на уровне Презентация. Это фактический пользовательский интерфейс, который живет на устройстве.

Контроллер

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

person pgpb.padilla    schedule 13.08.2013