Доказательства
Сравнение с альтернативами
Сравните ответственность выполнения и измеренные примитивы без рейтинга несопоставимых архитектур.
Сравнение с альтернативами
Пакеты, участвующие в измерениях, решают разные исходные задачи:
| Пакет | Основная единица | Сильная сторона | Чего нет в измеренном примитиве |
|---|---|---|---|
| UseCase Forge | типизированный Execution для Command | допуск, очереди, отмена, конечный Result, история | граф провайдеров, автоматические вычисляемые значения, широкое распространение |
| Bloc | Event или метод Cubit | зрелая модель переходов состояния и экосистема | единый контракт Execution Entry и истории |
| Riverpod | Provider или Notifier | зависимости, кэширование, повторное вычисление, освобождение ресурсов | общий допуск Command и конечная история |
| MobX | Observable, Action, Reaction | автоматическая реактивность отдельных значений | очереди Command и конечные Result |
| Redux | Action, Reducer, Middleware | явные однонаправленные обновления Store | стандартный жизненный цикл асинхронного Command |
UseCase Forge избыточен для одного локального наблюдаемого значения. Он становится уместен, когда допуск, параллельное выполнение в группах, кооперативная отмена, конечные результаты и история должны следовать одному контракту у всех вызывающих сторон.
И наоборот, UseCase Forge не заменяет граф зависимостей или детальную реактивность представления. Сочетание пакетов оправдано, только если каждый владеет отдельной границей ответственности.
Как читать таблицу времени
Минимальный сценарий на странице результатов измерений показывает, что Bloc, Riverpod, MobX и Redux выполняют меньше работы и оказались быстрее. Это не доказывает, что они воспроизводят семантику жизненного цикла UseCase Forge. Также это не доказывает, что такая семантика нужна конкретному приложению.
До выбора архитектуры изучите полное сравнение возможностей, версии пакетов и исходные измерения.