Когда мы хотим описать конкретную систему внутри Unity с использованием LeoECS, нам необходимо описать, как именно она должна работать. Для этого нужно реализовать конкретные интерфейсы. Таких интерфейсов несколько: IEcsPreInitSystem, IEcsInitSystem, IEcsRunSystem, IEcsDestroySystem и IEcsPostDestroySystem. У каждого интерфейса есть свой метод, имеющий свой аналог в Unity. В системе можно реализовывать как от один, так и несколько интерфейсов. Каждый из них описывает сигнатуру метода, который вызывается в определенный момент кадра в последовательности PreInit, Init, Run, Destroy, PostDestroy. Если производить аналогию с юнити — это Awake, Start, Update, Destroy, соответственно, кроме разве что PostDestroy — у него нет аналога в Unity, а вызывается он в ECS после метода Destroy.
Всё никак не пойму, почему ECS вечно противопоставляют ООП, хотя в рамках ООП композиция и агрегация — это тоже вполне нормальная практика.
Наверное потому, что Richard Fabian в свое время написал книгу https://dataorienteddesign.com/dodbook/ которую почему-то, вместо описания преимуществ своего подхода, посвятил критике ООП.
В том то и дело, что это не противопоставление ООП. Это просто архитектура, которая не очень ложится на "типичное" представление о программировании и ты код пишешь "не так как раньше". И само разделение логики и данных сильно сбивает с толку на первых парах людей, не привыкших разделять логику и данные
Пример из современности — Raid: Shadow Legends. У них был неплохой доклад про переход на ECS (как минимум незнакомому с темой человеку было многое понятно)
Да, именно оттуда мы и узнали, что Raid: Shadow Legends работает на ECS
Миллениалы изобрели реляционную модель, спешите видеть ( ͡° ͜ʖ ͡°)
Пробовал я ецс, весело, увлекательно, в определенных и очень узких ситуациях супер полезно. Отличная первая ступень в мир cache-friendly кода. Но бой о бой, f тем безумцам, которые используют его для всего проекта. И большой F юнете с их мертвым по прибытию дотсом.
P.S. приятного чтения https://www.gamedev.net/blogs/entry/2265481-oop-is-dead-long-live-oop/
Вообще я хоть и разработкой игр и не занимаюсь, но вижу что ECS вносит просто дофига хаоса.