Objektorientierte Software-Entwicklung mit Smalltalk
Objektorientierte Software-Entwicklung mit Smalltalk
Objektorientierte Software-Entwicklung mit Smalltalk
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Canvas und ApplicationModel Reuse durch Subcanvas und Vererbung<br />
• Anpassung des „glue“ (z.B. zusätzliche Domänenmodelle)<br />
• Integration des geerbten canvas als subcanvas<br />
Reuse:<br />
canvas undaltes<br />
application model<br />
([VW 1992], S. 74)<br />
Michael Prasse 141 Tomcat Computer GmbH<br />
Beispiel: GrolierSearcherWithPreview>>windowSpecWithPreview<br />
• nur Angabe des Namens der Interface-Spec<br />
• Dieser muß verschieden vom Namen der neuen Spec sein.<br />
• Auch in diesem Fall nur einmalige Wiederverwendung<br />
➡ Entspricht eher einer Komposition<br />
➡ Auch anwendbar für die Integration einer eigenen Interface-Spec<br />
Michael Prasse 143 Tomcat Computer GmbH<br />
Beispiel: GrolierSearcherWithPreview>>windowSpec<br />
• Angabe des Namens der überschriebenen Interface-Spec<br />
• Explizite Angabe der Oberklasse<br />
• Kopplung zwischen alter undneuer Interface-Spec<br />
• Erweiterung der alten Interface-Spec <strong>mit</strong>tels Subcanvas-Technik anstatt „super“<br />
• Nur einmalige Wiederverwendung möglich, da „glue“ auch nur einmal geerbt wird.<br />
➡ Simulation von „super“ durch Subcanvas-Komposition bei Interface-Specs<br />
Michael Prasse 142 Tomcat Computer GmbH<br />
Zusammenfassung Canvas-Reuse<br />
• alle drei Applikationsbestandteile sind in unterschiedlichen Kombinationen wiederverwendbar:<br />
• Domain Model<br />
• Application Model<br />
• Canvas<br />
• Reuse-Mechanismen:<br />
• Komposition: subcanvas<br />
• Vererbung: Erweiterung + Abänderung<br />
• pure Canvas-Integration (langfristig ersetzen durch Komposition<br />
undVererbung)<br />
• KEIN Copy & Paste<br />
• Anwendung:<br />
• verlangt Vorausplanung (Modularisierung der GUI)<br />
• <strong>Entwicklung</strong> generischer Oberflächen - Abstraktion<br />
• Restrukturierung bei nachträglicher Wiederverwendung<br />
➡ Verbesserung der langfristigen Wartbarkeit<br />
Michael Prasse 144 Tomcat Computer GmbH