Entwerfen und Erstellen der Klassen der Beispielanwendung Tasmanische Handelsgesellschaft
Für Tasmanische Handelsgesellschaft wurden sechs Klassenbibliotheken erstellt. Zu den meisten der Visual FoxPro-Basisklassen wurden Unterklassen gebildet, so dass die grundlegende Darstellung der Anwendung leicht auf weitere Komponenten übertragen werden konnte. Auf Klassenebene wurde so viel allgemeine Funktionalität wie möglich verwirklicht, so dass die Klassen leicht verwaltet und wieder verwendet werden konnten.
Bei der Entscheidung, welche Klassen erstellt werden sollten, wurden die Verwaltung und zukünftige Projekte ebenso sehr in die Überlegungen einbezogen wie das aktuelle Projekt. Das Ziel bestand darin, so viel allgemeine Funktionalität wie möglich in den Klassen zusammenzufassen. Als Folge davon enthalten die zugrunde liegenden Klassen vergleichsweise viel an integrierter Funktionalität und sind stark aufeinander abgestimmt. Wenn Sie das Projekt öffnen und einen Blick auf die Komponenten werfen, ist die Funktionsweise der Anwendung jedoch nicht ohne weiteres nachvollziehbar. Da die Komponenten in Tasmanische Handelsgesellschaft derart stark integriert sind, kann nicht einfach eine oder zwei herausgegriffen, in ein anderes Projekt eingefügt und erwartet werden, dass sie funktionieren. Es ist jedoch möglich, Tasmanische Handelsgesellschaft schnell und einfach zu erweitern oder andere Anwendungen auf diesem Modell aufzubauen, indem zu den entsprechenden Klassen Unterklassen gebildet werden.
Anstatt der Formularklasse die Methoden AddNew, Save, Delete und Restore sowie Methoden zur Tabellennavigation hinzuzufügen, hätten die Entwickler auch eine benutzerdefinierte Klasse erstellen können, die die Methoden für Tabellenoperationen enthält und ein auf dieser Klasse basierendes Objekt zu Formularklassen oder direkt zu Formularen hinzufügen können. Dies würde mehr Flexibilität ermöglichen, da die Funktionalität im weiteren Verlauf des Entwicklungsprozesses zu jedem Formular (oder sogar zu Container- oder Steuerelement-Klassen) hinzugefügt werden könnte, ungeachtet der jeweiligen übergeordneten Klasse. Andererseits würde dadurch jedes Mal, wenn die Methoden aufgerufen würden, eine zusätzliche Verweisebene erzeugt. Außerdem müsste beim Öffnen der Formulare eine zusätzliche Datei geöffnet werden, wenn die benutzerdefinierte Klasse in einer weiteren VCX-Datei enthalten wäre. Weil die Klassenstruktur klar ausgearbeitet war, bevor die Formulare erstellt wurden und alle Formulare, denen Daten zugeordnet sind, von tsBaseForm erben müssen, wurden die Methoden in tsBaseForm eingefügt.
In Tasmanische Handelsgesellschaft ermöglicht eine Symbolleiste den Benutzerzugriff auf Funktionen, die allen Formularen gemeinsam sind. Als Alternative wäre es auch möglich, eine Klasse von Befehlsschaltflächen mit den verfügbaren Befehlen zu erstellen und zu jedem Formular ein auf dieser Klasse basierendes Objekt hinzuzufügen. Hierbei läge der Vorteil darin, dass die Benutzer die Schaltflächen viel leichter mit dem Formular in Verbindung bringen könnten und einfacheren Zugriff auf die Befehlsschaltflächen mit der Tastatur hätten. Andererseits erfordern die Microsoft Office-Standards Symbolleisten. Daher sind Benutzer mit diesen vertraut. Noch wichtiger ist jedoch, dass eine Symbolleiste keinen zusätzlichen Platz in den Formularen einnimmt und zu Formularen keine zusätzlichen Steuerelemente hinzufügt, auf denen sich bereits eine größere Anzahl Steuerelemente befinden. Außerdem kann die Symbolleiste zur Laufzeit leichter benutzerdefiniert angepasst werden, jedoch in Abhängigkeit von der Zugriffsberechtigungsebene der betreffenden Person.
Die Umgebungseinstellungen wurden in einer Klasse gespeichert. Daher können sie in einem Arbeitsgang festgelegt und wiederhergestellt werden. Ein weiterer Vorteil der Maßnahme, Umgebungseinstellungen in einer Klasse zu speichern und sie im Code, der dem Destroy-Ereignis zugeordnet ist, wiederherzustellen, besteht darin, dass sie nach System- oder Anwendungsabstürzen während der Testphase leichter wiederhergestellt werden können. Der RELEASE ALL-Befehl veranlasst das Objekt, Destroy-Ereignisse auszulösen, welche die ursprünglichen Umgebungseinstellungen wiederherstellen.
Siehe auch
Lösungsbeispiele | Beispiel Tasmanische Handelsgesellschaft | Erstellen der Spezifikation für Tasmanische Handelsgesellschaft | Entwerfen der Datenbank "Tastrade" | Schreiben, Testen und Debuggen von Tasmanische Handelsgesellschaft | Tasmanische Handelsgesellschaft - Klassenbibliotheken