11.10.2013 Aufrufe

Diss.-ETH 12317 Diss.-ETH 12317 Diss.-ETH 12317 Diss.-E Eine ...

Diss.-ETH 12317 Diss.-ETH 12317 Diss.-ETH 12317 Diss.-E Eine ...

Diss.-ETH 12317 Diss.-ETH 12317 Diss.-ETH 12317 Diss.-E Eine ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

22 KAPITEL 2. KONZEPTE DES SOFTWARE-ENGINEERING<br />

• Vielzahl von Klassen: In grossen Bibliotheken müssen zuerst passende<br />

Klassen für einen bestimmten Anwendungsfall gefunden werden.<br />

Es kann für einen Klienten schwierig sein, ohne konzeptionelle<br />

Dokumentation der Klassenbibliothek herauszufinden, wofür die einzelnen<br />

Klassen gedacht sind. Noch schwieriger und gefährlicher ist<br />

es, in diesem Fall eigene Änderungen und Ergänzungen anzubringen.<br />

• Beziehungen zwischen den Klassen: Die Kommunikation und die<br />

Beziehungen zwischen den Klassen sind nach wie vor vom Klienten<br />

zu programmieren. Er legt dabei fest, wann welche Botschaft an welches<br />

Objektes zu schicken ist. Dies zwingt einen Klienten bei komplexeren<br />

Anwendung immer wieder, eigene Lösungen für die gleichen,<br />

grundlegenden Probleme zu finden. Selbst wenn Klienten dafür<br />

die gleichen Klassen wählen, machen die vielen, leicht abweichenden<br />

Entscheidungen den Code der Applikationen genügend unterschiedlich,<br />

um das gemeinsame Design nicht mehr so einfach zu erkennen<br />

und wiederverwenden zu können.<br />

Daher versucht man das Prinzip Kapselung auf einer höheren Stufe anzuwenden,<br />

um Code und Design von Lösungen innerhalb einer grösseren<br />

Einheit zu integrieren und wiederzuverwenden. Diese nächst höhere Abstraktionsebene<br />

erreicht man mit Hilfe eines Frameworks.<br />

2.5.1 Begriff und Funktion<br />

Johnson [21] definiert ein Framework wie folgt: “ A framework is a set<br />

of classes that embodies an abstract design for solutions to a family of related<br />

problems”. Die Grundaufgabe des Frameworks besteht also darin,<br />

ein wiederverwendbares Design einer bestimmten Problemstellung zu beschreiben.<br />

Dabei wird dieses wiederverwendbare Design durch den Code<br />

des Frameworks beschrieben. Dieser Code legt folgende Elemente fest:<br />

1. Die Menge der Klassen<br />

2. Die standardisierten Protokolle: In abstrakten Basisklassen werden<br />

Mengen von Methoden festgelegt, welche die Protokolle für die<br />

Kommunikation unter den Framework-Klassen definieren.<br />

3. Die Erweiterungsstellen: Das Framework verknüpft eine Menge<br />

von Klassen. Ein Teil dieser Klassen und/oder Methoden bedarf weiterer<br />

Konkretisierung, um das innerhalb der Familie von verwandten<br />

Problemstellungen unterschiedliche Verhalten zu definieren.<br />

<strong>Diss</strong>.-<strong>ETH</strong> <strong>12317</strong> <strong>Diss</strong>.-<strong>ETH</strong> <strong>12317</strong> <strong>Diss</strong>.-<strong>ETH</strong> <strong>12317</strong> <strong>Diss</strong>.-E

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!