namespace GFramework.Core.Abstractions.StateManagement;
///
/// 定义状态归约器接口。
/// Reducer 应保持纯函数风格:根据当前状态和 action 计算下一状态,
/// 不直接产生副作用,也不依赖外部可变环境。
///
/// 状态树的根状态类型。
/// 当前 reducer 处理的 action 类型。
public interface IReducer
{
///
/// 根据当前状态和 action 计算下一状态。
///
/// 当前状态快照。
/// 触发本次归约的 action。
/// 归约后的下一状态。
TState Reduce(TState currentState, TAction action);
}