Definición de Grado de absorción (programación)
Grado de absorción (fan-in). En diseño estructurado, el grado de absorción, también conocido como fan-in, es la cantidad de módulos o unidades de software que llaman o utilizan directamente a un módulo específico. Es decir, mide cuántos módulos superiores dependen de un módulo determinado para realizar alguna función.
Maximizar el fan-in durante el proceso de diseño es recomendable porque indica que se ha centralizado la funcionalidad en un solo módulo, evitando la duplicación de código. Por ejemplo, si varios módulos necesitan realizar una validación de datos, es preferible que todos llamen a una única función de validación, incrementando así el fan-in de dicha función y facilitando su mantenimiento.
El grado de absorción también puede interpretarse como la capacidad de un módulo de software para recibir y procesar información proveniente de otros módulos. Un módulo con alto fan-in es reutilizado en múltiples lugares, lo que contribuye a la modularidad y al diseño eficiente del sistema.
Comparativamente, el fan-out es el número de módulos a los que un módulo llama directamente. Mientras que el fan-in mide la reutilización y centralización de la lógica, el fan-out evalúa la dispersión de las dependencias. Un buen diseño busca maximizar el fan-in y minimizar el fan-out para lograr un sistema más mantenible y menos acoplado.
Ejemplo:
- Si el módulo "A" es llamado por los módulos "B", "C" y "D", entonces el fan-in de "A" es 3.
- Si un módulo de autenticación es utilizado por todos los módulos que requieren control de acceso, su grado de absorción es alto.
Ventajas y desventajas de un alto grado de absorción
- Ventajas: Facilita la reutilización de código, reduce la duplicidad, y mejora la mantenibilidad y escalabilidad del sistema.
- Desventajas: Si el fan-in es excesivamente alto, el módulo puede convertirse en un punto crítico de fallo y volverse complejo de modificar o probar. Además, puede dificultar la comprensión del flujo general del sistema.
¿Cómo se mide el grado de absorción?
El grado de absorción se mide contabilizando cuántos módulos llaman directa e inmediatamente a un módulo específico. También puede analizarse a través de herramientas de análisis estático de código o diagramas de dependencias.
¿Cómo mejorar el grado de absorción?
- Centralizar funcionalidades comunes en módulos reutilizables.
- Evitar la duplicación de código dividiendo tareas repetidas en funciones o módulos independientes.
- Aplicar patrones de diseño como Facade o Singleton para gestionar la interacción entre módulos.
Resumen: Grado de absorción (programación)
El grado de absorción o fan-in es la cantidad de módulos que utilizan directamente a un módulo específico. Un fan-in alto indica reutilización y centralización de la lógica, lo que mejora la eficiencia y mantenibilidad del software, pero debe equilibrarse para evitar sobrecargar un solo módulo.
Autor: Leandro Alegsa
Actualizado: 11-07-2025
¿Cómo citar este artículo?
Alegsa, Leandro. (2025). Definición de Grado de absorción. Recuperado de https://www.alegsa.com.ar/Dic/grado_de_absorcion.php