article Related Topics:
Frameworks
 

Framework (engl. Rahmenwerk, Fachwerk) ist ein Begriff aus der Softwaretechnik und wird insbesondere im Rahmen der objektorientierten Softwareentwicklung sowie bei komponentenbasierten Entwicklungsansätzen verwendet.

Package-Component-Framework.PNG und der Software-Komponente in Beziehungen, unterscheidet sich aber von diesen in einigen wichtigen Punkten.]]

Wörtlich übersetzt bedeutet Framework (Programm-)Gerüst, Rahmen oder Skelett. Darin wird ausgedrückt, dass ein Framework in der Regel eine Anwendungsarchitektur vorgibt. Dabei findet eine Umkehrung der Kontrolle statt: Der Programmierer registriert konkrete Implementierungen, die dann durch das Framework gesteuert und benutzt werden, statt – wie bei einer Klassenbibliothek – lediglich Klassen und Funktionen zu benutzen. Wird das Registrieren der konkreten Klassen nicht fest im Programmcode verankert, sondern wird „von außen“ konfiguriert, so spricht man auch von Dependency Injection.

Ein Framework definiert insbesondere den Kontrollfluss der Anwendung und die Schnittstellen für die konkreten Klassen, die vom Programmierer erstellt und registriert werden müssen. Frameworks werden also im Allgemeinen mit dem Ziel einer Wiederverwendung „architektonischer Muster“ entwickelt und genutzt. Da solche Muster nicht ohne die Berücksichtigung einer konkreten Anwendungsdomäne entworfen werden können, sind Frameworks meist domänenspezifisch oder doch auf einen bestimmten Anwendungstyp beschränkt. Beispiele sind Frameworks für grafische Editoren, Buchhaltungssysteme oder elektronische Warenhäuser im World Wide Web.

White-Box- und Black-Box-Frameworks


Je nach der Art und Weise, wie Frameworks vom Entwickler verwendet werden müssen, unterscheidet man zwischen White-Box- und Black-Box-Frameworks. White-Box-Frameworks bestehen u. A. aus einer Reihe von abstrakten Klassen. Die Aufgabe des Entwicklers besteht hier darin, die abstrakten Methoden dieser Klassen in den abgeleiteten Unterklassen der konkreten Applikation zu überschreiben. Um dies tun zu können, ist eine gute Kenntnis der Framework-Klassen erforderlich - daher leitet sich die Bezeichnung White-Box-Framework ab. Das Gegenstück bilden die Black-Box-Frameworks. Diese bieten bereits fertige Klassen an, die der Entwickler instanziieren und so zu einer Applikation zusammensetzen kann. Verfügbare Frameworks sind zumeist Mischformen zwischen White-Box- und Black-Box-Frameworks. Mit steigendem Reifegrad tendieren Frameworks zum Black-Box-Ansatz.

Framework-Typen


Frameworks lassen sich darüber hinaus wie folgt unterteilen:

  • Application Frameworks bilden den Programmrahmen für eine bestimmte Klasse von Anwendungen (horizontal slice), d. h. von Funktionen und Programmstrukturen, die bei allen Anwendungen dieser Klasse von Bedeutung sind.
  • Domain Frameworks hingegen bilden den Programmrahmen für einen bestimmten Problembereich (vertical slice), d. h. Funktionen und Strukturen die zur Lösung dieses Problembereichs im Allgemeinen benötigt werden.
  • Class Frameworks fassen Klassen und Methoden zusammen, die Unterstützung auf einer bestimmten Abstraktionsebene für ein breites Anwendungsfeld bieten.
  • Komponenten-Frameworks abstrahieren von der objektorientierten Ebene und bieten eine Umgebung zur Entwicklung und Integration von Software-Komponenten an. Software-Komponenten werden dabei meist als Bündel von Klassen mit eindeutig definierten Schnittstellen betrachtet.

Siehe auch


Literatur


  • Wolfgang Pree: Komponentenbasierte Softwareentwicklung mit Frameworks. dpunkt, 1997, ISBN 3-920993-68-3

Bibliothek (Programmierung) | Softwarearchitektur

Framework | Framework | Framework | Cadre d'applications | Framework | Framework | Framework | Framework | Framework

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Framework".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld