用途:该技能依据 Domain Primitives(Secure by Design)与 Always-Valid Domain Model 原则,指导领域模型的类型安全设计与实现,避免直接使用原始类型(String、int、f64 等)承载领域概念,使“对象存在即有效”由类型系统保证。
主要能力:识别原始类型滥用与参数顺序混淆等反模式;用 Smart Constructor 强制构造时校验;封装复合值(如 Money 含金额与币种);表达范围约束(如 Age)与非空集合(NonEmpty<T>);提供 Rust(newtype + TryFrom)、TypeScript(Branded Types)、Java(final class + 静态 parse)等实现模式;给出代码评审要点(原始类型暴露、构造校验、不可变性、封装、领域操作聚合)与判断流程。
使用方式:在编写或评审领域代码时,按“该值是否有领域约束”判断是否创建 Domain Primitive;有格式约束用 Smart Constructor 加正则/解析器,有范围约束用带边界检查的构造器,复合值合并为单一类型,非空约束用 NonEmpty<T>。跨领域边界(JSON、数据库、外部 API、日志)时允许转换为原始类型,转换点用 breachEncapsulationOf 之类命名显式标注。
适用场景:ID 类型、联系方式、金融信息、测量值、非空集合等;避免用于临时局部变量、私有内部实现细节及外部库边界(可在转换层应用)。
限制:资料未提供该技能的安装命令、运行环境、收费与平台信息;示例代码为设计模式示意,具体语言版本与依赖暂未提供。