很多 ABAP 代码一开始写得很顺手,业务来了就加IF,条件多了就加CASE,对象创建麻烦了就在调用处直接NEW,状态需要复用就塞进全局变量。短期看,这些写法都能跑,甚至上线速度也很快。可一旦系统进入 SAP S/4HANA 长期演进阶段,尤其是同一套增强要同时考虑 On-Premise、Private Cloud、Public Cloud、ABAP Cloud、RAP、OData 服务、ABAP Unit、ATC 检查和 Clean Core 治理时,问题会慢慢显出来。代码不是不能改,而是每一次改动都像在拆一张旧网,牵一处动全身。OO Design Patterns 的价值就在这里。它不是为了让 ABAP 代码看起来更像 Java,也不是为了堆一层抽象显得高级。它真正解决的是几个很朴素的问题,我们该由谁创建对象,多个实现该如何切换,全局唯一状态该怎样控制,固定流程与可变步骤该怎样分开。SAP 的 ABAP cheat sheet 也明确把这些示例定位为面向概念探索和 ABAP 语法实验的材料,并提醒这些示例使用简化上下文,不应被机械视为项目最佳实践或标准模板。这个提醒很重要,因为设计模式从来不是复制代码,而是把代码变化的方向先想清楚。(GitHub)在 Clean Core 语境里,这件事更现实。ABAP Cloud 依赖ABAP for Cloud De