用途:该技能用于指导在 Swift 中以函数式编程优先、面向对象/面向协议编程其次的方式设计领域模型与核心逻辑,强调不可变性、纯函数与显式副作用。
主要能力:涵盖架构模式(函数式核心/命令式外壳、面向特性的设计、通过函数做依赖注入、Mealy 与扩展状态机、将副作用作为数据);函数式技术(代数数据类型,即 enum 与 struct 组合、map/flatMap/reduce 等函数式操作符、偏应用与柯里化、基于 KeyPaths 的 Optics 即 Lens 与 Prism)。
使用方式:技能内含参考文档,建议阅读顺序为 references/state-machines.md、references/functional-operators.md、references/algebraic-data-types.md、references/optics.md、references/dependency-injection-currying.md、references/dependency-injection-decision-table.md。依赖注入规则为:闭包优先,能力结构体次之,协议最后且仅用于边界。测试规则为:仅在核心层写单元测试,用假闭包替代 mock,不使用 sleep 或 timer。
适用场景:领域建模、特性与业务逻辑、reducer 与工作流、依赖注入的用例、需要高可测试性的代码。
限制:资料未提供具体安装命令、平台版本要求、收费信息或效果数据;核心原则是若难以测试就简化设计。