2. Conceptos de la Programación en Capas
Consiste en dividir el código fuente según su funcionalidad
principal
Trata de separar las responsabilidades de nuestra aplicación de
una manera horizontal, esto con el fin de elevar el nivel de
abstracción (Ocultar la plomería de la aplicación poniendo una
capa de abstracciones sobre ella)
Presentación
(UI)
Negocio
(BL)
Datos
(DAL)
Base de
Datos
3. • La intención de esta capa es que el
resto de la aplicación no se
preocupe de los detalles (en cierta
medida) de la estructura de la base
de datos y trabaje a un nivel de
objetos
• Es la encargada de la entrada y salida de datos
hacia y desde la base de datos. Ya que no debe de
preocuparse de las reglas de negocio el código de
la capa debería de ser fácil de seguir y
• Es donde se escribe el código que habla con la base
de datos
• Es en esta capa donde se definen las consultas a la
base de datos (el SQL)
• de mantener
4. • En esta capa es donde se escriben las reglas de negocio, validaciones
que involucran varias entidades, validación de estados y condiciones
definidas en los requerimientos.
• Usa a la capa de acceso a datos para realizar las consultas y
actualizaciones a la base de datos.
• La capa de negocio no sabe cómo es
presentada la información al usuario
o de cómo fue capturada por él. Al
no preocuparse de como se
presenta la información (UI) o de
como es que se almacena (DAL), en
el código solo deben observarse que
las reglas (de negocio) definidas en
los requerimientos se cumplan
5. • Es la capa donde se crean los componentes de la interfaz de usuario
• Esta capa utiliza a la capa de negocio para realizar la tarea que el
usuario requiera
• La capa de negocio validará y
regresará el resultado o error y la
capa de presentación los mostrará al
usuario
• Esta capa sólo se encarga de pasar
valores a la capa de negocio y de
desplegar información, en la
interfaz de usuario, que viene de la
capa de negocio
6. • Al implementar este modelo
de programación, se asegura
un trabajo de forma ordenada
y separada, debido a que
sigue el principio de “divide y
vencerás”.
• Cada capa está dividida
según su funcionalidad
cuando se quiere modificar el
sistema basta con cambiar un
objeto o conjunto de objetos
de una capa. Esto se llama
modularidad.
7. • Cuando se implementa un modelo
de programación en capas, se
debe llegar a un balance entre el
número de capas y subcapas que
componen el programa. Este debe
ser el necesario y suficiente para
realizar un trabajo específico con
eficiencia y ser lo más modular
posible.
• De lo contrario se tiene una serie de desventajas como: pérdida de
eficiencia, realización de trabajo innecesario o redundante entre
capas, gasto de espacio de la aplicación debido a la expansión de las
capas, o bien una alta dependencia entre los objetos y capas que
contradice el objetivo principal del modelo.