varan
Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
Сначала обрисую примерную задачу, я ее упростил для максимального понимания сути вопроса.
Допустим, надо написать обучалку английского языка для детей. Задания могут быть самыми разнообразными, что-то вроде таких (знаю что много букав, но надо показать разнообразие)
1) Вопрос с предварительным обучением.
3) Идет какое-то интересное видео, например тот же мульт. В некоторых местах останавливается и задается какое-то задание, ответив на которое, можно продолжать смотреть
и т.д.
Такие задания могут быть разных уровней: на первых уровнях всё разжевывается и много раз вдалбливается, на последних уровнях всё сложнее и меньше повторов слов.
Теперь вопрос. Мне бы не хотелось всю эту логику разбрасывать по всему приложению, потому что что-то может меняться, добавляться, настраиваться и т.д. Хотелось бы хранить в одном месте, в идеале в конфиге. Но как хитрую логику запихивать в конфиг, тоже не совсем ясно. Можно в принципе не конфиг, а некий кусок кода - bootstrap, и кое-какие идеи у меня на этот счет есть, но что-то мне всё не очень нравится: некоторые детали получаются скрытыми.
А как бы вы организовали хранение такой логики?
Допустим, надо написать обучалку английского языка для детей. Задания могут быть самыми разнообразными, что-то вроде таких (знаю что много букав, но надо показать разнообразие)
1) Вопрос с предварительным обучением.
Берется рандомное слово номер 1 из какого-то набора. Показывается картинка и произносится соответствующее слово, затем пользователю дается несколько заданий на проверку этого слова: задается вопрос "где машина?" и юзер должен ткнуть пальцем/мышкой в нужную картинку, одну из трех (или может поначалу даже одну из одной, чтобы запомнил ).
Берется слово номер 2. Тоже самое.
Потом берется микс из слов 1 и 2. Если какое-то из слов слишком плохо выучено, то оно отдельно тренируется.
Потом слово номер 3, микс из трех слов и т.д.
И поощрение: когда угадано 5 слов подряд, запускается короткий мультик.
2) Рисуется большая картина и задается вопрос "где белка?". Юзер должен ткнуть в белку. Если угадал, то поощрение в виде мультика или чего-то еще.3) Идет какое-то интересное видео, например тот же мульт. В некоторых местах останавливается и задается какое-то задание, ответив на которое, можно продолжать смотреть
и т.д.
Такие задания могут быть разных уровней: на первых уровнях всё разжевывается и много раз вдалбливается, на последних уровнях всё сложнее и меньше повторов слов.
Теперь вопрос. Мне бы не хотелось всю эту логику разбрасывать по всему приложению, потому что что-то может меняться, добавляться, настраиваться и т.д. Хотелось бы хранить в одном месте, в идеале в конфиге. Но как хитрую логику запихивать в конфиг, тоже не совсем ясно. Можно в принципе не конфиг, а некий кусок кода - bootstrap, и кое-какие идеи у меня на этот счет есть, но что-то мне всё не очень нравится: некоторые детали получаются скрытыми.
А как бы вы организовали хранение такой логики?