1. Описание предметной области, объектов и понятий, с которыми работает приложение. 2. Выделение сущностей и связей между сущностями, представление в терминах ORM. 3. Описание конфигурации ORM и ObjectCache. 4. Работа с БД - применение паттерна Команда и Компоновщик для выполнения операций на БД; - конфигурация исполнителя команд; - команда как транзакция в БД; - инструменты, доступные ORMLite для реализации транзакций. 5. Проблема доступа из UI потока к данным, изменяемым в других потоках. 6. Memoization подход для решения проблемы доступа из разных потоков. 7. Описание архитектуры кэшей с применением memoization. 8. Задача поддержания когерентности кэшей; - использование HaMeR framework для актуализации UI кэша; - использование механизма блокировок и батч-операций над данными в кэшах. 9. Ограничения ORM ObjectCache при работе с объектами DAO. 10. Реализация DAO с расширенными возможностями работы с ObjectCache.