InheritedWidget пробрасывает данные вниз и уведомляет зависимости при updateShouldNotify; Provider/Riverpod — обёртки над этим паттерном с удобным API.
Разбор
dependOnInheritedWidgetOfExactType подписывает context.
- Provider упрощает DI и rebuild scope.
- Не путать с глобальным синглтоном без подписки.
- Кратко: Inherited = механизм, Provider = эргономика.
Итог
InheritedWidget — база ambient-данных; Provider стоит на нём.