2016-09-24 2 views
0

Я разрабатываю приложение iOS для выполнения задач. У меня есть несколько табличных представлений, которые все изменяют то же самое, что и для массивов списков. Должен ли я использовать одноэлементный класс для модели массива списка дел, чтобы он всегда был актуальным, независимо от того, какой вид таблицы обращается к нему?Должен ли класс Model быть Singleton при использовании нескольких контроллеров?

Было бы лучше иметь один основной класс контроллера (singleton), который также содержит данные модели, а также имеет некоторые способы взаимодействия с данными. Затем другие контроллеры вызывают эти методы на главном контроллере?

ответ

0

Это, безусловно, будет одним из способов сделать это, конечно.

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

0

Да, это идея MVC. У вас есть одна модель и несколько ее видов, с взаимодействиями, организованными несколькими контроллерами представлений.

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

0

Это вполне жизнеспособно, но вы теряете гибкость потенциального наличия нескольких объектов модели. Я лично предложил бы иметь одноэлементный «менеджер» какого-то типа, который получает модель из вашего бэкэнда (или где бы он ни появился) и содержит ссылку на модель.

0

Нет, модель не должна быть одноэлементной. Синглтоны злоупотребляют. Возможно, вы захотите предложить пользователю возможность создавать более одного списка дел. Например, для дома и для работы, например. Каждый список будет отдельным экземпляром модели данных списка дел.

Использование singleton предотвратило бы наличие более одного активного списка todo.

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