Лето, небольшой отпуск от постов в блоге, но тем не менее наш звездный проект о котором я начал писать выше — идет достаточно активно.
При его проектировании было принято решение организовать код с помощью саб-модуля, то есть вложенного общего репозитория.
Весь наш STARS WARS сейчас состоит из 3х репозиториев.
1. Unity клиент + Mirror сервер с игровой логикой и валидацией
2. .NET сервер для конфигов, общения с БД, логина и других интеграций
3. Общая для первых двух репа "SubModules", содержит все модели данных, парсеры, утилиты. О ней подробнее.
В SubModules проекте находятся:
- Общие дата классы. То есть при создании или изменении данных, которые гоняешь между клиентом и сервером не нужно править их в двух местах. Это не на что не похожее чувство, особенно для тех, кто привык что клиент и сервер имеют разную кодовую базу и языки на которых написаны. Тут любая клиент-серверная правка решается за минуты с полной гарантией защиты от нестыковок данных или их обработки.
- Общие куски низкоуровневой логики. В 90% случаев исправления вносятся только в саб модулях. Пример на скриншоте — фабрика реверд, которая нужна везде и работает везде идентично.
- Общие утилиты. Это просто прекрасно, что их можно не копировать и дорабатывать в одном месте. И опять же гарантировать что и сервер и клиент одинаково обрабатывают данные.
В идеале было бы отделить от .NET сервера в отдельный проект сервис конфигов, но для данного этапа это нецелесообразно.
#девлог@cat_and_code
#техничка@cat_and_code
Post #208
1.02K

- 🔥 1