用途:为 Java 项目提供与框架无关的六边形架构边界评审与改进建议,不耦合 Spring Boot、Quarkus、Micronaut 的运行时装配。
主要能力:检查领域独立性(实体、值对象、领域服务、领域策略不依赖框架、持久化、Web、消息与基础设施 API);检查用例编排是否通过入站/出站端口协调领域行为而不依赖具体适配器;检查驱动适配器调用入站端口、被驱动适配器实现出站端口;检查包、模块、import、Maven 模块与测试中体现的依赖方向,即适配器依赖核心而非反向;可选引入 ArchUnit 风格规则验证六边形边界;以具体类、import、依赖、包、测试为证据提出保持边界的小改动。
使用方式:先阅读 references/707-technologies-hexagonal-architecture.md,检查包、模块、import、Maven 模块、测试和框架入口;再识别领域、用例、入站/出站端口、驱动/被驱动适配器与基础设施职责,记录证据并将不明确处标为假设;随后报告核心到适配器的依赖违规、框架或基础设施泄漏、适配器耦合与行为错位,并给出小步整改建议;最后建议可选验证方式并做范围路由。资料要求修改 Java 或 Maven 前须运行 ./mvnw compile 或 mvn compile,推广变更前运行 ./mvnw clean verify 或 mvn clean verify。
适用场景:评审六边形架构、评审端口与适配器边界、评审架构边界、强制依赖方向、添加 ArchUnit 架构测试、检测领域代码中的基础设施泄漏、改进端口与适配器边界。
限制:仅做架构边界与依赖方向评审,除非用户明确要求框架运行时实现;框架运行时装配交由对应框架技能处理,Maven 依赖(含 ArchUnit 依赖添加)交由 111-java-maven-dependencies 处理;若包布局、模块边界、框架归属或持久化策略不明确并影响评审,应先提问澄清;须区分已确认违规、基于命名的推断假设与缺失上下文。