Ver Mensaje Individual
  #13 (permalink)  
Antiguo 21/10/2004, 22:10
nicogranelli
 
Fecha de Ingreso: mayo-2002
Mensajes: 204
Antigüedad: 22 años, 6 meses
Puntos: 8
Indagando un poco más en el tema, descubrí que puede hacer una capa más entre la de negocios y la de presentación:

WorkFlow

¿Qué es esto?

Vendría a ser la que implementa que acción continúa después de que cada acción termina. Por ejemplo, en VB, estamos en un ABM, que requiere eligir un valor de una serie. Podríamos poner esta seríe dentro de un ComboBox, pero si esta seríe crece y crece, llega un momento que se hace poco usable el combo. Entonces hacemos un formulario que oficie de buscador. Entonces, desde el Formulario de ABM ponermos un botón buscar, que llama al formulario. ¿Pero que pasa si luego, necesitamos que la llamada a ese formulario de busqueda cambie según si estamos haciendo un alta o una modificación?. El codigo de ese botón empieza a crecer y crecer, llenandose de If anidados, según la situación. ¿Y que pasa si luego, ese botón tenemos que ponerlo en muchos ABM distintos?. Nos encontramos con un montón de código repetido, que a la hora de cambiarlo hay que buscar por todo el proyecto.

Como solución a esto podemos implementar un controlador, que se encarge de ir llevando la línea de ejecución según corresponda. Para implementar esto, en vez del que el botón llame a un formulario particular, llamaría a una función de una dll, por ej: WorkFlow.BuscarAlgo. Esta Clase vendría llevando registro de lo que el usuario está haciendo, y mostraría el formulario correspondiente. De esta manera, la capa de presentación se abstrae aún más de las reglas de negocio.

Esto, en lenguajes web, ya está recontra pensado e implementado. Es el famoso pattern MVC, que tiene Modelos (las clásicas clases que representan a los objectos del sistema), Vistas (las páginas web en sí) y un Controlador, que se encarga justamente del ordén de secuencia. a traves de acciones.

Es decir, supongamos un sistema de RRHH por web. Tenemos una acción que es alta de empleado. Esta acción, cuando es lllamada, muestra una Vista con el formulario para ingresar los datos. Cuando uno pulsa en enviar, esta acción toma los datos envíados, instancia la clase empleado, la llena con los datos, llama al método grabar, que inserta un nuevo registro en la base de datos, y luego muestra un mensaje de listo.

¿Se entiende?

Acá les paso un link muy interesante para este tipo de cosas, basado en php:

www.phppatterns.com
__________________
No se puede poner nada en las firmas