12 lines
895 B
Markdown
12 lines
895 B
Markdown
|
|
# Límites entre módulos
|
||
|
|
|
||
|
|
> Estado: **NORMATIVO**. Define las colaboraciones permitidas entre módulos.
|
||
|
|
|
||
|
|
Un módulo puede compartir DTOs y contratos de `common`, servicios públicos explícitos y contratos de Core. Un consumidor solo depende de la API pública que el módulo proveedor expone en `services`.
|
||
|
|
|
||
|
|
Queda prohibido importar Infrastructure interna de otro módulo, repositories, modelos Sequelize, mappers internos o usar `getInternal` fuera del propio módulo. Tampoco se reconstruyen internals ajenos localmente.
|
||
|
|
|
||
|
|
La API pública debe ser pequeña y responder a consumidores reales. La decisión de qué publicar se toma en el composition root del proveedor; para su ensamblaje, véase [Inyección de dependencias](./dependency-injection.md).
|
||
|
|
|
||
|
|
`identity-and-companies.md` sigue siendo la referencia específica para la frontera entre esos módulos y ofrece ejemplos de estas reglas.
|