消息队列的基础编写
1. 任务封装
首先实现了 Task
类,这是一个简单的包裹类,仅包含任务的 名称 和 参数列表,用于封装任务信息。
2. 任务处理器设计
为了让任务处理更加模块化,我设计了 任务处理器抽象基类,所有具体任务处理方法都需要继承该基类,并重写 process
函数,以实现具体任务的处理逻辑。
3. 处理器注册机制
然后实现了 处理器注册类,用于管理不同任务处理器的映射关系:
- Key:任务名称
- Value:对应的任务处理器类
当需要处理 Task
时,会从注册类中获取与 Task
名称对应的处理器,并传入 Task
进行执行。
示例流程:
如果 Task
是 A 类型,注册类会找到 A 处理器,然后将 Task
传入处理器以获取参数列表并执行。
4. 单元测试
代码编写完成后,学习并使用 Google Test(GTest) 进行单元测试,以验证任务队列的正确性。
总结
Task
作为基础封装类,仅存储名称和参数列表。- 任务处理器通过继承基类实现
process
方法。 - 处理器注册类维护任务名称到处理器的映射,实现动态调用。
- 使用 Google Test 进行单元测试,提高代码的可靠性
评论