Skip to content

Latest commit

 

History

History
21 lines (16 loc) · 3.08 KB

operations.md

File metadata and controls

21 lines (16 loc) · 3.08 KB

Task #12 - Создаём операции

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

  • Получение и отправка данных на сервер: без реализации, только интерфейс. Реализацию вы сможете написать после модуля «Работа с сетью», который посвящен работе с сервером. А сейчас все операции должны возвращать ошибку о недоступности сервера:

    • Базовая операция для работы с бекендом BaseBackendOpertation;
    • Операция сохранения заметок в бекенд SaveNotesBackendOperation;
    • Операция загрузки списка заметок из бекенда LoadNotesBackendOperation.
  • Загрузка и сохранение заметок на локальный диск. В реализации этих операций необходимо использовать записную книжку FileNotebook, вы создали её в рамках первого курса «Разработка под iOS. Начинаем»:

    • Базовая DB операция BaseDBOperation;
    • Операция сохранения заметки в DB SaveNoteDBOperation;
    • Операция загрузки списка заметок из DB LoadNotesDBOperation;
    • Операция удаления заметки из DB RemoveNoteDBOperation.
  • Агрегирующие операции для работы из UI:

    • Операция сохранения заметки SaveNoteOperation. Должна вызывать операции SaveNotesBackendOperation и SaveNoteDBOperation. Должна вызываться из UI по событию окончания редактирования.
    • Операция загрузки списка заметок LoadNotesOperation. Должна вызывать LoadNotesBackendOperation и LoadNotesDBOperation. Если полученные с сервера данные не соответствуют данным локально, то источником истины нужно считать сервер. В этом сценарии нужно обновить локальные данные. Она вызывается при отображении списка заметок.
    • Операция удаления заметки RemoveNoteOperation. Должна вызывать SaveNotesBackendOperation и RemoveNoteDBOperation. Должна вызываться из UI по событию удаления заметки.

Важно! Каждая операция должна быть в отдельном файле, имя которого совпадает с именем операции.