1. 任务封装

首先实现了 Task 类,这是一个简单的包裹类,仅包含任务的 名称参数列表,用于封装任务信息。

2. 任务处理器设计

为了让任务处理更加模块化,我设计了 任务处理器抽象基类,所有具体任务处理方法都需要继承该基类,并重写 process 函数,以实现具体任务的处理逻辑。

3. 处理器注册机制

然后实现了 处理器注册类,用于管理不同任务处理器的映射关系:

  • Key:任务名称
  • Value:对应的任务处理器类

当需要处理 Task 时,会从注册类中获取与 Task 名称对应的处理器,并传入 Task 进行执行。

示例流程:
如果 TaskA 类型,注册类会找到 A 处理器,然后将 Task 传入处理器以获取参数列表并执行。

4. 单元测试

代码编写完成后,学习并使用 Google Test(GTest) 进行单元测试,以验证任务队列的正确性。


总结

  • Task 作为基础封装类,仅存储名称和参数列表。
  • 任务处理器通过继承基类实现 process 方法。
  • 处理器注册类维护任务名称到处理器的映射,实现动态调用。
  • 使用 Google Test 进行单元测试,提高代码的可靠性