День 1.2 Архитектура
Ну и конечно же до того как писать код лучше составить схему архитектуры. Тут по сути не хватает геймплея, но мне он будто и не нужен, ток в контроллер сессии добавить какой-нить GameplayManager, который будет бросать события прохождения уровня и так далее. Чтобы уровни были изолированы.
Сам геймплей будет весь на декораторах, там не так интересно рисовать общую схему.
Итак, а что у нас по основной архитектуре. Так сказать подсветим фишечки. И первое "спорное" решение SessionController.
В данной архитектуре SessionController — это по сути синглтон сервис локатор. Да, можно было бы ща расписать какую-то DI версию с более грамотным IoC контейнером. Но для маленького проекта, а зачем? В чём-то небольшом подобные архитектуры меня никогда не подводили. Удобно бустрапить, подменивать реализацию сервисов через директивы препроцессора и так далее.
IStorageConfig, ITransactionProvider, IAdsProvider — единственные места где я вижу разумную подмену реализации. Разные сдк разных платформ. Ну и магазином может захочется не локально управлять, а с сервера. Часто люди пишут всё на интерфейсах, даже там где смысла в этом нет, я такое не люблю. Поэтому только три интерфейса.
Если есть какие-то вопросы по схеме можно задавать в комментах. Продолжаем работу. Ну и как всегда ставим 🔥, не стесняемся!
PS: Лучше было уложить каскадом по слоям, но так как это «на скорую руку» и для меня — было лениво.
#индиприключения
Post #1639
1.04K

- 🔥 34
- ❤🔥 1