Files
AutoBOM-BOMForge/VBA/ClassModules/IModuleProcessor.cls
Misaka_Company b73e39eeee Refactor strategy pattern to implement separation of concerns
- Update IModuleProcessor interface to accept targetBOMs collection instead of targetItemName string
- Remove filtering logic from strategy implementations (AppendOnly, CloneNew)
- Add LoadData method to mSpecAdditionManager for UI initialization
- Rename ExecuteAddition to ExecutePipeline with refined parameters
- Enhance test suite to simulate fine-grained UI selection behavior
- Enable precise row-level control by delegating filtering to UI layer

This refactoring achieves better separation of concerns where:
- Strategy layer focuses purely on execution logic
- UI layer handles selection and filtering
- Manager layer coordinates the pipeline flow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 15:04:24 +08:00

22 lines
924 B
OpenEdge ABL

' ==============================================================================
' 模块名称: IModuleProcessor
' 模块类别: 类模块 (用作接口 Interface)
' 模块职责: 定义统一的业务处理接口。此时的策略层已完全解耦,不关心过滤逻辑。
' ==============================================================================
Option Explicit
' 方法名: ProcessSpec
' allBOMs: 总库集合 (主要用于克隆策略追加新行)
' targetBOMs: 由UI层(或中枢)精挑细选出来的目标行集合 (手术对象)
' paramName: 参数名(如 lcfw)
' newValue: 新规格代码(如 M19)
' engine: 条件注入引擎实例
Public Sub ProcessSpec( _
ByRef allBOMs As Collection, _
ByRef targetBOMs As Collection, _
ByVal paramName As String, _
ByVal newValue As String, _
ByRef engine As cConditionEngine)
'
End Sub