![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
12/10/2004, 21:14
|
| | Fecha de Ingreso: mayo-2002
Mensajes: 204
Antigüedad: 22 años, 8 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 |