初步完成数据处理链条

This commit is contained in:
2025-09-04 13:40:07 +08:00
parent bdae3355aa
commit bc8bc58d9b
18 changed files with 175 additions and 345 deletions

View File

@@ -1,9 +1,25 @@
using DMS.Core.Models;
using System.Threading.Tasks;
using DMS.Application.DTOs;
namespace DMS.Application.Interfaces;
// <summary>
/// 定义了数据处理服务的接口。
/// 该服务负责管理数据处理队列和处理器链。
/// </summary>
public interface IDataProcessingService
{
Task EnqueueAsync(Variable variable);
/// <summary>
/// 向处理链中添加一个数据处理器。
/// </summary>
/// <param name="processor">要添加的数据处理器实例。</param>
void AddProcessor(IVariableProcessor processor);
/// <summary>
/// 将一个变量数据项异步推入处理队列。
/// </summary>
/// <param name="data">要入队的变量数据。</param>
/// <returns>一个表示入队操作的 ValueTask。</returns>
ValueTask EnqueueAsync(VariableDto data);
}

View File

@@ -0,0 +1,18 @@
using DMS.Application.Models;
using DMS.Core.Models;
namespace DMS.Application.Interfaces;
/// <summary>
/// 定义了变量数据处理器的通用接口。
/// 任何需要加入数据处理链的类都必须实现此接口。
/// </summary>
public interface IVariableProcessor
{
/// <summary>
/// 异步处理单个变量数据。
/// </summary>
/// <param name="data">要处理的变量数据。</param>
/// <returns>一个表示异步操作的任务。</returns>
Task ProcessAsync(VariableContext context);
}