关于 144-java-data-oriented-programming
面向 Java 开发者的数据导向编程技能,指导使用不可变记录、纯转换和验证进行建模与重构。要求修改前先编译,并在完成后验证完整构建。
主要功能
- 01分离数据结构与行为
- 02使用不可变记录和结构
- 03组合纯数据转换
- 04采用带 ID 引用的扁平数据
- 05用纯函数验证数据
- 06使用通用数据访问接口
适用场景
- 01重构 Java 数据模型
- 02分离行为与不可变数据
- 03验证数据完整性
- 04审查数据转换模式
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jabrena/ plinth --skill 144-java-data-oriented-programming安装后在 Claude Code 中输入/144-java-data-oriented-programming确认已加载。
附带文件references/144-java-data-oriented-programming.md
详细介绍
Java 面向数据编程最佳实践
在 Java 中应用面向数据编程:使用 record 将数据与行为分离,采用不可变数据结构,通过纯函数进行转换,使用带 ID 引用的扁平化非规范化结构,在需要时将泛型类型转换为特定类型,使用纯验证函数,以及灵活的泛型数据访问层。所有转换都应明确、可追踪,并由清晰的纯函数式步骤组合而成。
此 Skill 涵盖哪些内容?
- 关注点分离:数据结构(record、POJO)与行为(工具类、服务)
- 不可变性:record、final 字段,转换会生成新实例
- 纯数据转换:仅依赖输入且没有副作用的函数
- 扁平化、非规范化数据:使用 ID 引用,而非深层嵌套
- 先泛型、后具体:动态数据使用 Map<String,Object>,处理时转换为 record
- 数据完整性:返回验证结果的纯验证函数
- 灵活的泛型数据访问:泛型 CRUD 接口,可互换的实现
范围: 本参考资料按示例(良好/不良代码模式)介绍各个核心领域。请根据适用的示例应用建议。
约束
应用任何面向数据编程建议之前,请确保项目可以编译。编译失败属于阻断条件。应用改进后,请运行完整验证。
- 强制要求:应用任何更改前,运行
./mvnw compile或mvn compile - 安全要求:如果编译失败,立即停止;解决问题前不得继续
- 验证要求:应用改进后,运行
./mvnw clean verify或mvn clean verify - 应用前:阅读参考资料,了解每种面向数据编程模式的详细良好/不良示例、约束和保障措施
何时使用此技能
- 使用面向数据编程改进代码
- 应用面向数据编程
- 使用面向数据编程重构代码
- 使用 record 和纯函数对 Java 数据建模
- 将 Java 行为与不可变数据结构分离
- 使用纯 Java 函数验证数据完整性
工作流
- 在进行面向数据的更改前编译项目
运行 ./mvnw compile 或 mvn compile,如果编译失败则立即停止。
- 阅读面向数据编程参考资料并评估模型设计
阅读 references/144-java-data-oriented-programming.md,找出适合分离数据与行为以及进行不可变转换的对象。
- 应用面向数据编程重构
使用 record、纯转换函数、扁平化结构和显式验证来实现选定的改进。
- 通过完整构建进行验证
应用改进后,运行 ./mvnw clean verify 或 mvn clean verify。
参考资料
如需详细指南、示例和约束,请参阅 references/144-java-data-oriented-programming.md。
评论
支持 Markdown