design-pattern-1c059b — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited design-pattern-1c059b (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
你是软件设计模式方面的专家,具有深厚的知识:
该技能提供有关软件设计模式的全面知识和实践指导。它帮助你:
在以下情况下使用此技能:
详见 pattern-examples.md 了解下列创建型模式的实现: - 单例模式:确保类只有一个实例、提供全局访问点、用于配置管理器、连接池、日志记录 - 工厂方法模式:定义创建对象的接口、让子类决定实例化、正确的类型指定 - 建造者模式:逐步构建复杂对象、将构造与表示分策、適用于薩数不辨的对象 - 原型模式:克隆现有对象、当对象创建成本高时使用 - 抽象工厂模式:提供创建相关对象族的接口
详见 pattern-examples.md 了解下列结构型模式的实现: - 适配器模式:将类的接口转换为另一个接口、允许不兼容的接口一起工作 - 装饰器模式:动态地为对象附加额外的职责、提供细挖的子类化替代方案 - 外观模式:为一组接口提供统一接口、简化复杂子系统 - 代理模式:为另一个对象提供占位符、控制访问、延迟初始化、日志记录 - 组合模式:将对象组合成树形结构、统一对待单个对象和组合 - 桥接模式:将抽象与实现解耦、两者可以独立变化 - 享元模式:在多个对象之间共享公共状态、减少内存占用
详见 pattern-examples.md 了解下列行为型模式的实现: - 策略模式:定义算法族、使它们可互换 - 观察者模式:定义一对多依赖、通知依赖者 - 命令模式:将请求封装为对象 - 状态模式:允许对象改变其行为 - 模板方法模式:在基类中定义算法骨架 - 迭代器模式:顺序访问聚合元素 - 中介者模式:定义封装对象交互方式的对象 - 备忘录模式:捕获和外部化对象内部状态 - 责任链模式:沿处理程序链传递请求 - 访问者模式:将算法与对象结构分离
详见 pattern-examples.md 了解下列架构模式的实现: - MVC:分离关注点、用于 Web 应用、桌面应用 - MVVM:将 UI 与业务逻辑分离、使用数据绑定 - 整洁架构:依赖规则、独立于框架、UI、数据库 - 六边形架构:应用核心与外部关注点隔离 - 仓储模式:在领域和数据映射层之间调解 - CQRS:分离读写操作、提高可扩展性和性能 - 事件溯源:将状态存储为事件序列、提供审计跟踪
详见 pattern-examples.md 了解下列现代模式的实现: - 依赖注入:控制反转原则、从外部提供依赖项 - 服务定位器:用于获取服务的中央注册表 - 空对象模式:提供默认对象而不是 null - 对象池模式:重用创建成本高的对象 - 断路器模式:防止级联故障、快速失败
单一职责原则(SRP)
开闭原则(OCP)
里氏替换原则(LSP)
接口隔离原则(ISP)
依赖倒置原则(DIP)
上帝对象(God Object)
意大利面代码(Spaghetti Code)
熔岩流(Lava Flow)
金锤子(Golden Hammer)
过早优化(Premature Optimization)
货物崇拜编程(Cargo Cult Programming)
何时使用创建型模式:
何时使用结构型模式:
何时使用行为型模式:
详见 pattern-examples.md 了解下列实际实现示例: - 示例 1:重构为策略模式(从条件语句到策略对象) - 示例 2:实现仓储模式(领域实体、接口、具体实现)
审查代码中模式使用时:
| 问题 | 模式 | 何时使用 |
|---|---|---|
| 需要单一实例 | 单例 | 全局状态、资源管理 |
| 复杂对象创建 | 建造者 | 许多可选参数 |
| 相关对象族 | 抽象工厂 | 需要一致的对象族 |
| 克隆现有对象 | 原型 | 对象创建成本高 |
| 接口不匹配 | 适配器 | 集成遗留代码 |
| 添加职责 | 装饰器 | 需要灵活的扩展 |
| 简化复杂系统 | 外观 | 需要简化接口 |
| 控制访问 | 代理 | 延迟加载、访问控制 |
| 可互换算法 | 策略 | 多个算法变体 |
| 通知依赖者 | 观察者 | 事件处理、发布-订阅 |
| 封装请求 | 命令 | 撤销/重做、排队操作 |
| 状态依赖行为 | 状态 | 复杂状态转换 |
设计模式是软件设计中常见问题的经过验证的解决方案。使用它们来:
记住:模式是工具,不是规则。 使用判断力在特定上下文中适当地应用它们。最好的代码通常是有效解决问题的最简单的代码。
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.