Framework
Was ist ein Framework?
In der Softwaretechnik, besonders im Rahmen der objektorientierten Softwareentwicklung und bei komponentenbasierten Entwicklungsansätzen wird dieses Programmiergerüst verwendet. Es ist kein fertiges Programm, sondern stellt einen Rahmen zur Verfügung, innerhalb dessen ein User eine Anwendung erstellt. Unter anderem wird auch die Struktur von der individuellen Anwendung durch verwendete Entwurfsmuster im Framework beeinflusst.
In der Regel gibt ein Framework somit die Architektur der Anwendung vor. Das Framework steuert und nutzt eine registrierte, konkrete Implementierung des Programmierers, statt lediglich Funktionen und Klassen. Man spricht von einer Inversion of Control (Umkehrung der Steuerung).
Vom Programmierer müssen die konkreten Klassen festgelegt, erstellt und registriert werden, damit das Framework den Kontrollfluss der Anwendung und die Schnittstellen für die konkreten Klassen definieren kann. Frameworks sind meist domänenspezifisch bzw. auf einen bestimmten Anwendungstyp beschränkt, da das Ziel eines Frameworks die Wiederverwendung eines bestimmten architektonischen Musters ist und diese Muster nicht entworfen werden könne, ohne Berücksichtigung auf eine konkrete Anwendungsdomäne.
Es gibt eine Unterscheidung in White-Box-Framework und Black-Box-Framework. Diese Unterscheidung hängt mit der Sichtbarkeit einer Implementierung hinter der Schnittstelle zusammen. Die Whitebox-Abstraktion erlaubt das Studieren und Manipulieren der Implementierung, wohingegen die Blackbox-Abstraktion keinerlei Details oder Spezifikation hinter der Schnittstelle preisgibt.
Ebenso gibt es verschiedene Framework-Typen. Das Application Framework ist für Funktionen und Programmstrukturen das Programmiergerüst. Also für eine bestimmte Klasse von Anwendungen (horizontal slice).
Das Domain Framework wird als Programmiergerüst für bestimmte Problembereiche, besonders Funktionen und Strukturen, innerhalb einer Anwendung benötigt (vertical slice).
Die Unterstützung auf Abstraktionsebenen für ein breites Anwendungsfeld bieten die Class Frameworks, welche die Klassen und Methoden zusammenfassen.
Zur Entwicklung und Integration von Software-Komponenten bieten die Komponenten-Frameworks eine Umgebung an.
Formen und Einrichtungen der Geräte-Interaktion stellen die Coordination-Frameworks zur Verfügung und gewährleisten so die nahtlose und skalierbare Interoperabilität.
Auch gibt es ein Content-Management-Framework, welches zur schnelleren Entwicklung eines netzbasierenden Content-Management-Systems durch ein Komponenten-Framework zur Verfügung steht.













News: Kostenlose Wordpress Templates