# ConveyorLineDispatchHandler Refactor Implementation Plan > **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking. **Goal:** 在不改变调度行为的前提下,降低 `ConveyorLineDispatchHandler` 复杂度,拆分“地址轮询策略”和“任务筛选逻辑”。 **Architecture:** 保留 `ConveyorLineDispatchHandler` 作为流程入口;将可替换策略(轮询地址选择)与任务过滤逻辑拆到同目录新类中,避免单文件承担全部职责。 **Tech Stack:** .NET 6, 现有 TaskService/RouterService 与 DTO 模型 --- ## Chunk 1: 结构拆分 ### Task 1: 拆分地址选择策略 **Files:** - Create: `WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTargetAddressSelector.cs` - Modify: `WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs` - [ ] Step 1: 迁移轮询地址选择与状态维护逻辑 - [ ] Step 2: Handler 中改为调用选择器 ### Task 2: 拆分任务筛选器 **Files:** - Create: `WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTaskFilter.cs` - Modify: `WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs` - [ ] Step 1: 迁移任务过滤条件和候选任务构建 - [ ] Step 2: Handler 中改为调用过滤器 ## Chunk 2: 清理与验证 ### Task 3: 入口瘦身与注释 **Files:** - Modify: `WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs` - [ ] Step 1: 删除迁移后私有方法 - [ ] Step 2: 保留关键流程注释,说明行为保持点 ### Task 4: 编译验收 **Files:** - Modify: `WIDESEAWCS_Tasks/ConveyorLineNewJob/*.cs`(如需微调) - [ ] Step 1: 运行 `dotnet build WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj -c Debug` - [ ] Step 2: 最小修复直到通过