Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Modularizar
Message
From
19/11/2004 12:01:45
 
 
To
15/11/2004 13:36:26
Victor Acosta
Independent Programmer.
San José, Costa Rica
General information
Forum:
Visual FoxPro
Category:
Project manager
Title:
Environment versions
Visual FoxPro:
VFP 7
Database:
MS SQL Server
Miscellaneous
Thread ID:
00961468
Message ID:
00963006
Views:
16
Hola, Víctor.

>En nuestra empresa tenemos una aplicacion de mediado tamaño de unos 60mb de tamaño del exe.
>
>Deseamos hacer la modularizacion de dicho proyecto.
>
>Cual sera la mejor forma de hacerlo , esto considerando que no deseamos migrar a tres capas , mas bien deseamos seguir siendo client-server.

Mi visión vaya quizá un poco más allá del tema de separar el código en proyectos, pero espero que te aporte alguna idea.

El tamaño del ejecutable junto a las cantidades de pantallas y reportes que mencionas me sugieren varias cuestiones de arquitectura general que podrían tal vez mejorarse.

En primer lugar, habría que ver realmente cuanto código repetido existe en los formularios que podría estar aislado y reusarse en componentes de negocio, de acceso a datos, y lógica propia de los formularios. En los mejores casos los formularios no deberían tener que tener algunas propiedades y tal vez un método o dos de validación del lado cliente.

Con los reportes pasa un poco lo mismo. En muchos casos puedes evitar tener centenares de reportes, y en lugar de ellos, tener menos que sean más reusables, o directamente generarlos en base a metadata. Yendo un poco más abajo aún, hasta los formularios pueden ser mayormente generados en base a metadata.

Este tipo de arquitectura te da la flexibilidad de construir gran parte de la aplicación en forma declarativa, en lugar de programática (hasta puedes producir algunas herramientas que te faciliten el mantenimiento de la metadata). Las ventajas son varias:

- Consistencia: al generar los formularios y reportes sobre la marcha todos se ven iguales, y puedes cambiar el mecanismo de rendering y variar el aspecto de todos al mismo tiempo.

- Productividad: ya que en muchos casos puedes generar o modificar componentes con sólo modificar metadatos.

- Facilidad de implementación: ya que si modificar la metadata basta, no hace falta recompilar ni reinstalar nada.

- Solidez: ya que el código real que se está ejecutando es mucho menor, y al reutilizarse en todos los casos, el nivel de prueba que tiene es mucho más alto.

- Versionamiento y localización: todo lo que no implique código directo es mucho más fácil de versional, mostrar condicinalmente, o regionalizar (lenguaje, terminología, formatos, etc) ante futuras necesidades.

- Concentración: luego del tiempo que lleva construir el framework de trabajo, los recursos de desarrollo quedan librados para extender el mismo o trabajar en la lógica de negocios, en lugar de perder tiempo en codificar y ajustar pantallas, reportes, etc.

Como dije, esta puede ser una visión muy radical, pero si te interesa saber más y explorarla, dimelo y seguimos conversándolo.

Saludos,
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform