Ядро приложения

Основные сущности приложения - это задания на решение в уме. У задания есть два операнда и оператор (это для бинарных операций). Создание задания - особая логика, которая должна учитывать текущий уровень игрока. То есть, если игрок прошел определенную тему, то задание должно сформироваться на основании примеров из этой темы. Отсюда вытекает необходимость еще одной сущности - тема (или класс заданий). В ней будут заданы оператор задания и возможные диапазоны операций. Бизнес-правил тут никаких нет, сущности вообще очень простые.

UseCase получает на вход тему, а на выходе отдаёт задание. При создании задания использует данные об игроке, чтобы установить время выполнения задания, например.

Варианты использования

Получить задание

  1. Сформировать объект Topic (оператор - MULTIPLICATION, диапазон первого операнда: 7-10, диапазон второго операнда - 7-10)
  2. Передать объект Topic объекту TaskCreator
  3. Получить на выходе объект Task, удовлетворяющий требованиям объекта Topic

Решить задание