用途:指导在新增功能时遵循开闭原则——软件实体应对扩展开放、对修改关闭。当需要新增支付方式、通知渠道、导出格式、折扣类型等变体,或受到诱惑要再加一个 if/else、switch 分支时使用;也适用于重构已有的分支链。
主要能力:提供判断标准与检测方法。核心规则是绝不给现有 if/else 或 switch 追加分支,无论理由是“只是多一个 case”“以后再重构”“模式已经这样了”还是“这样更快”。典型违规信号是给已有条件加 else if、给 switch 加 case、重复已有的 if/else 结构,或方法中基于类型的分支超过 3 个。
使用方式:用策略/插件模式替代修改。先定义接口(如 PaymentMethod 的 process),为每个新变体单独实现类(如 CreditCardPayment、PayPalPayment),再通过处理器注册或注入,使处理器本身在新增方式时无需改动。遇到已有分支链时“触碰到就重构”:抽取接口、把分支转成实现、加入新实现。文档列出了常见压力场景的应对,包括“只加一个 case”“模式已存在”“以后再重构”等,并强调仅写注释表示“应该重构”而仍加分支仍属违规。
适用场景:支付、通知、导出、折扣等多变体扩展场景。
限制:资料未提供安装命令、平台信息、收费或价格。内容为实现原则与模式建议,非可直接运行的工具,具体语言与框架适配需自行判断。