Приветствую всех! Хочу рассказать вам о нововведениях в архитектуре проекта.
В общем идея была в том, чтобы для активации действий в игре использовать паттерн Mediator, а непосредственно сам UI связать с логикой через MVP. Ну и по классике несколько полезных ссылок
1. Мне посоветовали присмотреться к Медиатору, и он как раз идеально ложиться на активацию всех механизмов. Таким образом получилось связать саму логику какого-либо действия, сохранение, диалоги и кнопку активации, где медиатор выступал обработчиком событий.
Отдельное спасибо @oldroots
Статья про Mediator
2. Изначально я думал над MVVM, но это слишком избыточное и сложное решение. Поэтому выбрал MVP, который в принципе в игровой разработке больше используется и, как мне кажется, покрывает 90% задач. Однако у этого паттерна есть разные реализации, ниже ссылки на лекции по каждой из них, автор все прекрасно объясняет, а также из плюсов - там в связке Zenject:
MVP-Observer
MVP-Presentation Model
MVP-Passive View
В итоге архитектура наконец продумана, код стал более гибким, модульным и легко расширяемым, что не может не радовать) Ну а в данный момент работаю над инвентарем и магазином🪬
#полезное
Post #19
422
- 👍 6
- ❤ 2
- 🔥 1
- 👏 1