用途:为 Python 3.10+ 提供 22 个 GoF 设计模式的惯用实现参考,是 TypeScript 版设计模式技能的 Python 对应版本。强调多数 GoF 模式在 Python 中可简化为语言特性(函数、生成器、dataclass、functools.singledispatch、match 语句),每条目优先给出惯用形式,仅在确实需要身份、存储状态、运行时注册或多态分派时才保留基于类的结构。
主要能力:按三类组织,共 22 个模式文件。创建型 5 个(工厂方法、抽象工厂、建造者、原型、单例);结构型 7 个(适配器、桥接、组合、装饰器、外观、享元、代理);行为型 10 个(责任链、命令、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者)。每个模式包含意图、问题、解决方案、适用性(何时用与何时不用)、带输出的可运行 Python 示例、实现步骤、优缺点及与相邻模式的关系。
使用方式:先依据 Quick Reference 识别问题对应的模式意图;打开 references/{category}-{pattern}.md 确认意图,并阅读 Applicability 与 When NOT to Use 后再采用;优先采用示例中的 Pythonic 写法,除非需要替代块中的类结构;将示例领域名称替换为自己的术语;最后查看 Related Patterns 考虑相关模式。
适用场景:构造函数参数超过 10 个或子类仅为固化参数组合;方法依 kind/type/mode/status 分支选择算法;集成接口不兼容的第三方或遗留类;建模树形领域;运行时添加日志、缓存、权限、压缩等横切行为;运行时选择算法变体;实现撤销/重做、快照、回滚或操作排队;协调相互引用混乱的大量对象;变更通知多个订阅者;重构隐式模式代码。
限制:模式是结构决策的词汇而非处方,仅当适用条件匹配时使用,每个条目均含 When NOT to Use 以防过度工程化。资料中未提供安装命令、收费与平台信息。