Compartir a través de


Diseño y creación de las clases de Comercial Tasmania

Se han creado seis bibliotecas de clases para Comercial Tasmania. La mayoría de las clases de base de Visual FoxPro se han convertido en subclases, de forma que la consigna básica de la aplicación ("ver y sentir") se pudiera mantener fácilmente en sus componentes. Se ha incluido toda la funcionalidad genérica que ha sido posible y el nivel de clase, de forma que se pudieran mantener y volver a utilizar las clases fácilmente.

A la hora de decidir qué clases se iban a crear, se tomó en consideración tanto el mantenimiento y los proyectos futuros, como el proyecto actual. El objetivo era encapsular el máximo posible de funcionalidad genérica en las clases. Como resultado, las clases subrayadas contienen mucha funcionalidad incorporada y están diseñadas para integrarse, pero no será fácil para nadie abrir el proyecto, mirar sus componentes y comprender cómo funciona la aplicación. Dado que los componentes de Comercial Tasmania están tan integrados, puede tomar sólo uno o dos, agregarlos a otro proyecto organizado de forma distinta y esperar que funcionen. De todas formas, puede expandir Comercial Tasmania rápida y fácilmente, u otras aplicaciones generadas según el mismo modelo, simplemente convirtiendo en subclases las clases adecuadas.

En lugar de agregar los métodos AddNew, Save, Delete, Restore y los métodos de exploración de tablas a la clase del formulario, los programadores podrían haber creado una clase personalizada para mantener métodos de operación de tablas y agregado un objeto basado en dicha clase para clases de formularios o directamente a los formularios. Esto habría proporcionado una mayor flexibilidad porque se podría agregar la funcionalidad a cualquier formulario (o incluso clases de control o contenedoras) más adelante en el proceso de programación, sin tener en cuenta su clase primaria. Por otro lado, este hecho habría proporcionado una capa o una referencia adicional siempre que se llamara a los métodos y, si la clase personalizada se encontrara en un archivo .vcx distinto, habría sido necesario abrir otro archivo al abrir los formularios. Los métodos se han incluido en tsBaseForm debido a que la estructura de la clase estaba claramente perfilada antes de la creación de los formularios y todos los formularios dependientes de datos se iban a heredar de tsBaseForm.

En Comercial Tasmania, hay una barra de herramientas que proporciona acceso al usuario a la funcionalidad común a todos los formularios. Una alternativa sería crear una clase de botones de comando para ofrecer esta funcionalidad y agregar un objeto basado en la clase a cada formulario. La ventaja de esto último sería que el usuario podría asociar más fácilmente los botones al formulario y que un usuario podría tener acceso más fácilmente a los botones de comando mediante el teclado. Por otra parte, el estándar de Microsoft Office usa las barras de herramientas, por lo que los usuarios están familiarizados con ellas. Más concretamente, la barra de herramientas no ha ocupado ningún espacio adicional en los formularios ni ha agregado ningún control adicional a los formularios que ya tenían bastantes controles. Además, se puede personalizar la barra de herramientas más fácilmente en tiempo de ejecución según el nivel de acceso del usuario.

La configuración del entorno se ha guardado en una clase, para permitir que se pueda establecer y restaurar mediante una sola operación. Otra ventaja de guardar la configuración del entorno en una clase y restaurarla en el código asociado con el evento Destroy es el hecho de que es más fácil de recuperar cuando se producen fallos durante la comprobación. La ejecución de RELEASE ALL causa que se desencadenen los eventos Destroy, con lo que se restaura la configuración del entorno original.

Vea también

Ejemplos de soluciones | Ejemplo Comercial Tasmania | Creación de la especificación para Comercial Tasmania | Diseño de la base de datos Tastrade | Escribir, comprobar y depurar Comercial Tasmania | Bibliotecas de clases de Comercial Tasmania