用途:该技能面向软件架构设计、代码结构重构、反复出现的设计问题求解,以及代码出现紧耦合等症状时的诊断与改进。它把设计模式作为经过验证的复用方案,强调模式是需按上下文调整的模板,而非照抄的蓝图,只在真正简化设计时使用。
主要能力:提供基础设计原则(封装变化、面向接口、组合优于继承、松耦合、开闭、单一职责、依赖倒置)及其违反症状;按问题类型给出模式选择指南,覆盖对象创建(工厂方法、抽象工厂、建造者、原型、单例)、结构组合(适配器、外观、组合、装饰器、代理)、通信与行为(观察者、命令、状态、策略、模板方法、中介者、职责链)、数据访问(仓储、工作单元、标识映射、延迟加载、数据映射、DTO);并提供按症状的对照表,如巨型 switch 对应策略/状态、重复代码对应模板方法/策略、难以测试对应仓储与依赖注入、需要撤销重做对应命令等。
使用方式:先判断问题类型或症状,再查表定位候选模式,结合原则评估取舍;文档还给出事务脚本与领域模型的对比,建议从事务脚本起步,当过程式代码难以维护时再重构为领域模型。模式按层级组织:第一层为策略、观察者、工厂、装饰器、命令;第二层为适配器、外观、组合、代理;第三层为企业/架构模式如仓储、工作单元、服务层、DTO;另含建造者、状态、模板方法、职责链、中介者、延迟加载、标识映射等。
适用场景:架构设计、重构、代码评审、团队统一设计词汇,以及识别上帝对象、贫血领域模型、金锤、熔岩流等反模式。
限制:资料未提供具体安装命令、代码示例、收费或平台信息;模式选择需结合具体上下文,避免过度使用、误用、滥用继承与单例、过早抽象。