solid-java 是 fusengine/claude-plugins 中的一项技能,用于在编写或重构 Java 代码时提供 SOLID 原则与模块化架构指导。它针对三类场景:编写或重构 Java 代码、组织 modules/[feature]/ 各层结构、定义接口与契约。
主要能力与约定
-
强制代理工作流:在任何实现开始前,需并行启动三个代理,每个代理单独一次带名称的 Agent 调用:fuse-ai-pilot:explore-codebase(分析现有架构)、fuse-ai-pilot:research-expert(通过 Context7 核对 Java 文档)、fuse-ai-pilot:sniper(实现后校验)。
-
DRY(先复用再新建):写任何新代码前,先在代码库中检索相似接口、服务或逻辑,检查共享位置 modules/core/services/ 与 modules/core/interfaces/;若已有相似代码则扩展或复用而不重复;若代码将被 2 个以上特性使用,应放到 modules/core/。
-
模块化架构(强制):Controllers 放 modules/[feature]/controllers/,Services 放 modules/[feature]/services/,Repositories 放 modules/[feature]/repositories/,Interfaces 放 modules/[feature]/interfaces/,Models/DTOs 放 modules/[feature]/models/,共享代码放 modules/core/{services,interfaces,models}/。禁止扁平的 src/ 结构,始终使用 modules/[feature]/。
-
关键规则:文件行数不超过 FUSE_SOLID_MAX_LINES;控制器保持精简并委托给服务;接口只放 modules/[feature]/interfaces/;每个公共方法写 Javadoc;DTO 使用 Records(Java 16+);受限层级使用 Sealed(Java 17+)。
参考指南
概念类参考:solid-principles.md(SOLID 概览)、single-responsibility.md(SRP,用于胖类)、open-closed.md(OCP,用于新增提供者)、liskov-substitution.md(LSP,用于契约)、interface-segregation.md(ISP,用于胖接口)、dependency-inversion.md(DIP,用于注入)、architecture-patterns.md(模块化模式)。
模板类参考:module.md(功能模块结构)、service.md(业务逻辑服务)、interface.md(契约定义)、repository.md(数据访问层)、error.md(自定义异常)、test.md(带 mock 的单元测试)。
禁止的反模式及修正:文件超过 FUSE_SOLID_MAX_LINES 应按职责拆分;接口写在实现文件中应移到 interfaces/ 目录;服务中 new ConcreteClass() 应改为依赖注入;扁平 src/ 结构应改为 modules/[feature]/;上帝类应按职责拆分。
适用场景:新建功能模块、定义服务与接口契约、重构胖类与胖接口、引入依赖注入、统一项目分层。限制:本资料未提供安装命令、具体版本要求之外的配置细节、授权与收费信息,也未提供实际运行效果数据。