mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
- 重构 AbstractCommand 类,添加泛型参数 TInput 并要求实现 ICommandInput 接口 - 修改 AbstractCommand.Execute 方法,传入输入参数到 OnExecute 方法 - 重构 AbstractCommand<TInput, TResult> 类,支持输入参数和返回结果 - 更新 AbstractQuery 类,添加泛型参数 TInput 和 TResult 并要求实现 IQueryInput 接口 - 创建 ICommandInput 接口作为命令输入的标记接口 - 创建 IQueryInput 接口定义查询输入规范 - 为所有抽象方法添加参数文档注释
29 lines
951 B
C#
29 lines
951 B
C#
using GFramework.Core.Abstractions.query;
|
||
using GFramework.Core.rule;
|
||
|
||
namespace GFramework.Core.query;
|
||
|
||
/// <summary>
|
||
/// 抽象查询类,提供查询操作的基础实现
|
||
/// </summary>
|
||
/// <typeparam name="TInput">查询输入参数的类型,必须实现IQueryInput接口</typeparam>
|
||
/// <typeparam name="TResult">查询结果的类型</typeparam>
|
||
public abstract class AbstractQuery<TInput, TResult>(TInput input) : ContextAwareBase, IQuery<TResult>
|
||
where TInput : IQueryInput
|
||
{
|
||
/// <summary>
|
||
/// 执行查询操作
|
||
/// </summary>
|
||
/// <returns>查询结果,类型为TResult</returns>
|
||
public TResult Do()
|
||
{
|
||
return OnDo(input);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 抽象方法,用于实现具体的查询逻辑
|
||
/// </summary>
|
||
/// <param name="input">查询输入参数</param>
|
||
/// <returns>查询结果,类型为TResult</returns>
|
||
protected abstract TResult OnDo(TInput input);
|
||
} |