Ver Mensaje Individual
  #11 (permalink)  
Antiguo 12/10/2004, 21:14
nicogranelli
 
Fecha de Ingreso: mayo-2002
Mensajes: 204
Antigüedad: 21 años, 11 meses
Puntos: 8
En realidad creo que la capa de de presentación no debería conocer la existencia de una tabla.

Por ej: Sistema de Sueldos

Pantalla de ABM de Empleados

Tiene un objeto empleado, llama al método cagar, el cual llena el objeto con los datos, y los muestra en el formulario. Cuando el Usuario pone en Aceptar, el formulario llama al metodo guardar del objeto .

Capa de Negocios:

El objeto empleado tiene conocimiento si se debe insertarse o actualizarse con respecto a la base de datos, pero sigue sin conocer la ubicación de la base de datos, el string de conexion o el nombre de la tabla. Cuando se llama a guardar, el objeto llama según corresponda, al metodo insertar o actualizar de la Capa de Acceso a Datos

Capa de Acceso a Datos:

Esta capa recibe el pedido de actualizarse o insertarse del objeto empleado, y a partir de ahí se conecta a la base de datos y hace el insert o update.

En Conclusión:

Si cambiamos la Base de Datos por otra, se modifica la Capa de acceso a datos, y ninguna de las otras 2.

Si ahora validamos que el empleado debe tener una condición en particular, modificamos solo la Capa de Negocios, mientras la de acceso a datos ni se entera.

Si utilizamos como salida de nuestro sistema formularios o páginas web, la capa de negocio no debe darse por enterada.

Esto nunca se logra al 100%, ya que cuando cambiamos una validación en la Capa de Negocios, la Capa de presentación deberá responder a un error que antes no era esperado, pero el cambio es mínimo.

Además, también depende de la manera en que se comunican la capas entre sí. Esto puede ser a traves de XML, o si trabajamos en VB y ASP, a traves de ADODB, por ej. y a veces estas tecnologías tienen limitaciones.

Espero haber clarificado un poco y no haber oscurecido :)
__________________
No se puede poner nada en las firmas