Об этом проекте
rzeka представляет собой однопоточную шину событий для C#, разработанную для развязки компонентов, позволяя им генерировать типизированные события и реагировать на них без прямого взаимодействия друг с другом. Построенная на базе Rx.NET, ее главной отличительной особенностью является отслеживание причинности, которое фиксирует цепочку событий, приведших к любому конкретному событию.
Ключевые особенности включают:
- Отслеживание причинности: каждое событие несет запись о своей причинно-следственной цепочке, что позволяет разработчикам отслеживать происхождение поведения системы.
- Отладчик Eris: браузерный отладчик, который подключается через WebSocket для визуализации потока событий и сообщений в реальном времени во время работы приложения.
- Однопоточный дизайн: обеспечивает согласованность отслеживания обстоятельств и переходов состояний с определенными границами для обработки асинхронных операций.
- Доменная метафора: использует API в тематике текстиля и магии (например, Matter, Spells, Mana, Loom, Weave) для описания трансформаций событий и подписок.
- Управление состоянием: поддерживает события с состоянием через атрибут [HasState], который запоминает последнее значение и воспроизводит его для новых подписчиков.
Библиотека ориентирована на .NET 8.0 и особенно подходит для разработки игр; она использовалась в Unity и в настоящее время переносится в Godot.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.