mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 00:39:00 +08:00
34 lines
1.3 KiB
C#
34 lines
1.3 KiB
C#
// Copyright (c) 2025-2026 GeWuYou
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
using GFramework.Core.Abstractions.Rule;
|
|
|
|
namespace GFramework.Core.Abstractions.Command;
|
|
|
|
/// <summary>
|
|
/// 命令接口,定义了无返回值命令的基本契约
|
|
/// 该接口继承了多个框架能力接口,使命令可以访问架构、系统、模型、工具,并能够发送事件、命令和查询
|
|
/// </summary>
|
|
public interface ICommand : IContextAware
|
|
{
|
|
/// <summary>
|
|
/// 执行命令的核心方法
|
|
/// 该方法不接受参数且无返回值,具体实现由派生类完成
|
|
/// </summary>
|
|
void Execute();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 带返回值的命令接口,定义了有返回值命令的基本契约
|
|
/// 该接口继承了多个框架能力接口,使命令可以访问架构、系统、模型、工具,并能够发送事件、命令和查询
|
|
/// </summary>
|
|
/// <typeparam name="TResult">命令执行后返回的结果类型</typeparam>
|
|
public interface ICommand<out TResult> : IContextAware
|
|
{
|
|
/// <summary>
|
|
/// 执行命令的核心方法
|
|
/// 该方法不接受参数,但会返回指定类型的结果
|
|
/// </summary>
|
|
/// <returns>命令执行后的结果,类型为 TResult</returns>
|
|
TResult Execute();
|
|
} |