====== 06 - Documentar módulos de aplicación ====== Spring Modulith puede generar documentación a partir del modelo ''ApplicationModules'', para que los diagramas y las descripciones reflejen la estructura del código. ===== 1. Diagramas de componentes ===== ''Documenter'' genera diagramas de los módulos y sus dependencias en formato **C4** o **UML**: new Documenter(ApplicationModules.of(Application.class)) .writeModulesAsPlantUml() .writeIndividualModulesAsPlantUml(); El primer método genera una vista global; el segundo, vistas por módulo con sus dependencias directas. Se puede seleccionar el estilo tradicional UML mediante ''DiagramOptions''. ===== 2. Fichas de módulo ===== ''writeModuleCanvases()'' genera una ficha por módulo con información como: * Paquete base y beans expuestos, agrupados por estereotipo. * Raíces de agregado detectadas. * Eventos publicados y escuchados. * Propiedades de configuración del módulo. La documentación se escribe por defecto en ''spring-modulith-docs'' dentro del directorio de compilación. La extracción de metadatos de propiedades requiere ''spring-boot-configuration-processor''. ===== 3. Documento agregador ===== ''writeAggregatingDocument()'' genera ''all-docs.adoc'', que enlaza los diagramas y fichas ya creados. ''writeDocumentation()'' permite generar el conjunto de documentación. La documentación generada muestra límites y dependencias observados; no sustituye la explicación de las decisiones de diseño de cada módulo. ===== Referencia ===== * [Documentación oficial: Documenting Application Modules](https://docs.spring.io/spring-modulith/reference/documentation.html) (Spring Modulith 2.1.1).