Одиночки (Singletons) в Unity — это антипаттерн. Вот как это исправить.
GAMEDEV ENGINE ROOM
0:00 / 0:00
Одиночки (Singletons) в Unity — это антипаттерн. Вот как это исправить.
1 846 просмотров · 3 месяца назад
GAMEDEV ENGINE ROOM
13,3 тыс. подписчиков
1 846 просмотров · 3 месяца назад
В Unity синглтоны — это антипаттерн, но с помощью пользовательского пакета их можно заменить, протестировать и отделить от остального кода.
В этом руководстве по Unity мы рассмотрим классический паттерн синглтона в C# и разберем его недостатки. Затем мы их исправим — сначала вручную с помощью интерфейсов, а затем автоматически с помощью пользовательского пакета, который превращает любой MonoBehaviour в синглтон с единственным атрибутом [Singleton]. В результате получается рабочий процесс с синглтонами в Unity, который слабо связан, тестируем и готов к замене на полноценную систему внедрения зависимостей, такую как VContainer или Zenject, когда вы будете готовы к миграции.
💬 Присоединяйтесь к Discord: / discord
🔹 Ссылки:
Пакет на GitHub: https://github.com/Engine-Room-Games/...
Метапрограммирование на C# (генераторы исходного кода): • Unity Metaprogramming: Reflection, Source ...
🔸 Разделы:
00:00 Введение
00:32 Код
03:57 Ручные улучшения
05:30 Ручное развязывание зависимостей
09:33 Использование генераторов исходного кода
#unity3d #gamedev #indiedev #csharp #softwarearchitecture #designpatterns