2015-01-29 3 views
0

Я разрабатываю приложение, похожее на Whatsapp (с его специальными функциями, конечно), и я сейчас в точке, где, я думаю, я должен реорганизовать весь существующий код, чтобы он соответствовал шаблон проектирования MVC (из-за слишком большого количества кода клея).MVC дизайн в приложении iOS похож на Whatsapp

Если я нарушу приложение в несколько простых вещей, мы будем иметь:

  1. Первое сообщение:
    • ID
    • непрочитанные сообщение
    • Источник пользователя
    • Целевой пользователь
  2. Обычное сообщение:
    • ID
    • Первое сообщение (слабая ссылка)
    • Полученное государство (GOT к серверу/Got клиенту/Читать клиентом)
    • Am владельца я сообщения (я источник)
    • Дата
  3. Пользователь:
    • ID
    • Номер телефона
    • Изображение профиля Ссылка

Обратите внимание на «непрочитанные сообщения» должен быть включен, если есть какие-либо сообщения, пользователь не читал. просто оптимизация с сервера.

Я никогда не работал с шаблоном проектирования MVC должным образом, поэтому я хотел бы убедиться, что мои планы верны или, возможно, есть дополнительные/другие вещи, которые я должен делать.

Я думал о:

  • Модель:
    • Создать файл xcdatamodel Core-Data, которая будет содержать вышеуказанные объекты
    • Используйте библиотеку mogenerator для создания сущностей файлов из ядра -data model
    • Создание моделей данных для каждой операции. например: зарегистрировать модель данных, которая будет обрабатывать всю регистрацию api с сервером; Message Data-Model, которая будет обрабатывать отправку нового сообщения и получение новых сообщений; и т. д. Все они будут одноточечными.
  • Вид:
    • всех виды WhatsApp, как внешний UITableViewController (для отображения уникальных пользователей) и внутренней UITableViewController (для отображения сообщений от конкретного пользователя).
  • Контроллер:
    • использует некоторые из перечисленных выше моделей данных для извлечения новых данных явно

Я думаю, просто дать API от модели к контроллеру который он может использовать в явном виде, но не использует уведомления или конструкции с привязкой к ключевым значениям.

Я не нашел ни одного онлайн-учебника или документа, объясняющего, что лучше делать.

Любые предложения?

ответ

0

Ну, мне удалось успешно реализовать шаблон проектирования MVC в моем проекте, придерживаясь теории - используя уведомления между моделью и контроллерами и используя KVO между представлениями и контроллерами.

:)

Смежные вопросы