Programación modular

En informática, la programación modular retoma la idea de fabricar un producto (el programa) a partir de componentes (los módulos).

Desglosa una gran aplicación en módulos , grupos de funciones, métodos y procesamiento, de modo que se puedan desarrollar y mejorar de forma independiente y luego reutilizar en otras aplicaciones.

El desarrollo del código de los módulos se puede asignar a diferentes (grupos de) personas, que realizan sus pruebas unitarias de forma independiente.

Este método de agrupamiento permite lograr un encapsulado comparable en ciertos aspectos al de la programación de objetos , y permite la organización del código fuente en unidades lógicas de trabajo. Los módulos también definen espacios de nombres que son útiles al usarlos.

La programación modular no implica el uso de un estilo o paradigma de programación en particular; los elementos que estructura pueden ser objeto , imperativo o estilo funcional .

Lo opuesto a la programación modular es el refinamiento .

Este estilo de programación facilita enormemente la mejora incremental, la reutilización y el intercambio de código, y es particularmente útil para crear bibliotecas .

Además, dependiendo de los lenguajes de programación , los módulos pueden ser parametrizados y / o polimórficos ( functor ) lo que aporta una modularidad cuya flexibilidad se multiplica por diez y lleva a hablar de genérico .

La programación genérica es un superconjunto que puede aprovechar la ventaja de modularidad proporcionada por la programación modular.

El módulo como componente

Los componentes a menudo se ven en términos de cajas negras / cajas blancas.

Un componente se ve como una caja negra cuando solo nos interesa su uso y comportamiento, definido por ejemplo por especificaciones, un manual de instrucciones, un bloque de terminales: este es el punto de vista del usuario.

Un componente se ve como una caja blanca cuando miramos su organización y su funcionamiento: este es el punto de vista del diseñador, el fabricante, el reparador.

Asimismo, un módulo generalmente tendrá:

Para que exista el cuerpo del módulo, solo es necesario el conocimiento de la interfaz para su uso.

Entonces,

Lenguajes típicos