Cerrado . Esta pregunta debe estar más
centrada . Actualmente no acepta respuestas.
Respuesta
Un módulo,
- encapsula código y datos para implementar una funcionalidad particular.
- tiene una interfaz que permite a los clientes acceder a su funcionalidad de manera uniforme.
- se puede conectar fácilmente con otro módulo que espera su interfaz.
- generalmente está empaquetado en una sola unidad para que se pueda implementar fácilmente.
Por ejemplo, dapper.net encapsula el acceso a la base de datos. Tiene una API para acceder a su funcionalidad. Es un solo archivo que se puede conectar en un árbol de fuentes para ser construido.
El concepto de módulo proviene del paradigma de programación modular que aboga por que el software debe estar compuesto por componentes separados e intercambiables llamados módulos al desglosar el programa funciones en módulos, cada uno de los cuales cumple una función y contiene todo lo necesario para lograr esto.
Comentarios
Respuesta
El módulo puede estar sobrecargado. término, tanto que Wikipedia lo describe bajo el término Programación modular cuando se habla de su uso en relación con el software. Lo discuten en términos de programación estructurada que se basó en un enfoque de diseño de arriba hacia abajo. Características clave de la modularidad relacionadas con el uso de un acoplamiento bajo y una alta cohesión .
Mi uso ha sido que en un lenguaje como C o incluso C ++, un módulo está relacionado con la definición de una unidad compilada por separado de un archivo fuente (.c o .cpp) y típicamente un archivo de encabezado asociado (.h). Otros lenguajes usan módulo como descripción, y el lenguaje Modula-2 pone la estructura alrededor de los módulos al frente y al centro en su nombre y su enfoque.
Históricamente, el módulo tiene algunas otras implicaciones, como se describe en el D.L. Parnas paper «Sobre los criterios que se utilizarán en la descomposición de software en módulos» . Él está principalmente interesado en discutir los beneficios de reemplazar la descomposición funcional con la descomposición orientada a datos, que fue un gran paso hacia nuestro estado actual de la técnica, que es la descomposición orientada a objetos.
Los lenguajes orientados a objetos se organizan en torno a clases, por lo que tal vez el término módulo sea menos importante y menos preciso en ese contexto.
Respuesta
No existe una definición formal de módulo, y lo que es (o no es) un módulo en el contexto de su proyecto depende en gran medida de la naturaleza y el diseño del proyecto.
En términos generales, un módulo es una pieza de código independiente que proporciona una funcionalidad específica y estrechamente acoplada, los módulos definen y aplican límites lógicos en su código.