Я собираюсь создать приложение для iOS в Swift, которое взаимодействует с этим API, и я хотел бы получить ваши советы по шаблону проектирования перед сборкой. Я действительно пытаюсь научиться создавать чистый, лучший в своем классе дизайн MCV, поэтому любые советы приветствуются.
Я написал REST API, который разрешает операции CRUD через HTTP на множестве ресурсов, позволяет называть их «элементами». Элементы имеют несколько свойств, таких как «имя», «тип» и т. Д. Существуют некоторые отношения (например, «элементы» назначаются «пользователям»). Данные представлены в формате JSON.
Одна из ключевых вещей, с которыми я борюсь, - где разместить логику для загрузки и анализа JSON. Вы помещаете это в ViewController? Или создать отдельный класс контроллеров? Я хочу повторно использовать код JSON для нескольких ресурсов (например, «items» и «users»). И действительно ли мне нужен ItemManager и ItemViewController?
Мое текущее мышление:
- (M) Item - Декодируемая структура JSON, которая следует точной структуре ресурса в API
- (M) Пользователь - idem
- (C) JSONController - класс, который получает URL-адрес и ожидаемый тип класса, а также отправляет и получает ответ и возвращает экземпляры этого класса
- (C) ItemManager - класс, который будет отслеживать все элементы (инициируя несколько экземпляров классов Item) и использовать контроллер JSON для обновления при необходимости
- (C) UserManager - idem
- (C) ItemViewController - извлекает элементы из ItemManager и подготавливает их для контроллера представления;также координирует действия кнопок и т. д.
- (C) UserViewController - idem
- (V) ItemView - представление, отображающее элементы в виде таблицы
- (V) UserView - idem
С уважением, Скотт