mcpField
S
solid-java

solid-java

github.com/fusengine开发3444 次安装2 周前更新
代码仓库

关于 solid-java

solid-java 是面向 Java 25+ 开发的技能,用于落实模块化架构和 SOLID 原则。它通过强制复用检查、结构规范及常见组件参考和模板指导编码 Agent。

主要功能

  1. 01按功能划分模块
  2. 02编码前强制检查复用
  3. 03SOLID 原则参考资料
  4. 04模块与分层模板
  5. 05代码长度与文档规范

适用场景

  1. 01规划新的 Java 功能结构
  2. 02新增逻辑前检查共享代码
  3. 03搭建服务与仓库

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/fusengine/agents --skill solid-java

安装后在 Claude Code 中输入/solid-java确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
architecture-patterns.md
dependency-inversion.md
interface-segregation.md
liskov-substitution.md
open-closed.md
single-responsibility.md
solid-principles.md
references/templates/
error.md
interface.md
module.md
repository.md
service.md
test.md

详细介绍

SOLID Java 为 Java 25+(当前 LTS)强制规定模块化架构:每项功能都位于 `modules/[feature]/` 下(控制器、服务、仓库、接口、模型/DTO),共享代码放在 `modules/core/` 中;接口只能位于 `modules/[feature]/interfaces/` 中;控制器不得超过 50 行,并将工作委托给服务;DTO 使用记录类型,受限层次结构使用密封类型;每个公共方法都必须附带 Javadoc。

编写任何新代码之前,都必须与 modules/core/services 和 modules/core/interfaces 中的代码进行 DRY 检查。概述请参阅 solid-principles.md;SRP/OCP/LSP/ISP/DIP 的详细说明请参阅各项原则对应的参考文档;模块、服务、接口、仓库、错误和测试脚手架请参阅模板。

SOLID Java - 模块化架构

Agent 工作流(强制)

进行任何实现之前,必须并行启动 3 个 Agent,每个都单独调用一次 Agent,并指定 name:

  1. fuse-ai-pilot:explore-codebase - 分析现有架构
  2. fuse-ai-pilot:research-expert - 通过 Context7 核实 Java 文档
  3. fuse-ai-pilot:sniper - 实现后的验证

DRY - 创建前先复用(强制)

编写任何新代码之前:

  1. 在代码库中使用 Grep 查找相似接口、服务或逻辑
  2. 检查共享目录:modules/core/services/、modules/core/interfaces/
  3. 如果存在相似代码 -> 扩展或复用,而不是重复实现
  4. 如果代码会被 2 个或更多功能使用 -> 在 modules/core/ 中创建

架构(模块为强制要求)

层位置最大行数
控制器modules/[feature]/controllers/50
服务modules/[feature]/services/100
仓库modules/[feature]/repositories/100
接口modules/[feature]/interfaces/30
模型/DTOmodules/[feature]/models/50
共享代码modules/core/{services,interfaces,models}/-

绝不能使用扁平的 src/ 结构——始终使用 modules/[feature]/


关键规则(强制)

规则值
文件限制100 行(在 90 行处分拆)
控制器少于 50 行,将工作委托给服务
接口只能放在 modules/[feature]/interfaces/ 中
Javadoc为每个公共方法编写文档
记录类型用于 DTO(Java 16+)
密封类型用于受限层次结构(Java 17+)

参考指南

概念
主题参考资料何时查阅
SOLID 概述solid-principles.md快速参考
SRPsingle-responsibility.md臃肿的类
OCPopen-closed.md添加提供方
LSPliskov-substitution.md契约
ISPinterface-segregation.md臃肿的接口
DIPdependency-inversion.md注入
架构architecture-patterns.md模块化模式
模板
模板何时使用
module.md功能模块结构
service.md业务逻辑服务
interface.md契约定义
repository.md数据访问层
error.md自定义异常
test.md使用模拟对象的单元测试

禁止事项

反模式修正方法
文件超过 100 行在 90 行处分拆
在实现文件中定义接口移至 interfaces/ 目录
在服务中使用 new ConcreteClass()使用依赖注入
扁平的 src/ 结构使用 modules/[feature]/
上帝类按职责拆分

评论

支持 Markdown