用途:该技能用于识别、解读、审查或编写代码中的领域实体。领域实体是具有稳定唯一身份、随时间持续存在的领域对象,即使属性变化仍保持同一概念,如客户、订单、订阅、账户、货运。它封装与自身数据相关的业务行为、业务规则和不变量,是领域层或业务层的核心构建块。
主要能力:判断代码是否属于领域实体,依据包括:通过稳定身份表示特定领域概念;携带区分实例的标识符;在生命周期中状态变化时保持连续性;暴露对自身数据应用领域规则的行为;强制必须始终成立的不变量;控制自身生命周期的合法状态转换;封装内部状态并要求调用方使用意图明确的方法;保护数据不被任意修改。
使用方式:检测时先读身份,寻找标识符、自然键、引用或相等规则;再识别生命周期连续性、状态与转换;追踪改变状态、执行规则或拒绝非法转换的方法;检查封装边界。编写或修改时,先保留身份模型,保持标识符与身份语义显式;使用类或语言中最接近类的构造,将身份、状态、不变量与行为放在一起;普通类型别名、接口或记录加独立函数不算类式构造,不应这样建模领域实体;遵循项目现有类建模约定;仅当语言完全不支持类时才退回非类构造。行为应靠近实体,状态变更操作放在实体上,方法名表达业务意图,如 changeAddress、approve、cancel、assignOwner;通过显式操作保护不变量,避免暴露绕过校验的写路径;保持生命周期完整性,隐藏依赖有效性的内部结构,暴露最少必要数据与方法。
适用场景:需要判断某对象是否由稳定身份定义、审查领域模型、重构实体、确保业务规则与不变量被正确封装时。
限制:应基于语义分类,而非文件夹、类名、注解、ORM 映射或框架角色;不要仅凭这些约定假定是否为领域实体。资料未提供具体安装命令、平台或收费信息。