dev.to | 📄 原文链接 | 2026-08-03 收录

我终于删掉了那个工厂类:用 .NET 键控服务替代 Switch

来源:dev.to — 2026-08-03

📋 概述

作者在 PR 里给通知系统加 WhatsApp 渠道时,又看到了那个熟悉的身影:NotificationSenderFactory 里 switch 静默长出第四只手臂。这种“用一个接口、几个实现、一个字符串决定谁干活”的工厂类,本质是戴着工厂名牌的服务定位器。.NET 8 起内置容器的键控服务(Keyed Services)把它彻底消灭:注册时带上 key,消费端用 FromKeyedServices 属性或 GetRequiredKeyedService 按 key 解析,一个类直接删掉。

🔑 核心要点

💡 金句

Deleting a whole class in a PR feels better than adding one. Every time.
← 返回 Dev.to 首页