namespace GFramework.Core.Abstractions.StateManagement;
///
/// 定义 Store 分发中间件接口。
/// 中间件用于在 action 分发前后插入日志、诊断、审计或拦截逻辑,
/// 同时保持核心 Store 实现专注于状态归约与订阅通知。
///
/// 状态树的根状态类型。
public interface IStoreMiddleware
{
///
/// 执行一次分发管线节点。
/// 实现通常应调用 继续后续处理;若选择短路,
/// 需要自行保证上下文状态对调用方仍然是可解释的。
///
/// 当前分发上下文。
/// 继续执行后续中间件或 reducer 的委托。
void Invoke(StoreDispatchContext context, Action next);
}