Zum Inhalt springen

Framework

aus Wikipedia, der freien Enzyklopädie

Vorlage:Hinweisbaustein

Ein Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. für Rahmenstruktur) ist ein Programmiergerüst, das in der Softwaretechnik eingesetzt wird – insbesondere in der objektorientierten Softwareentwicklung sowie in komponentenbasierten Ansätzen.

Beschreibung[Bearbeiten]

Ein Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. ist kein eigenständiges Programm, sondern stellt eine Struktur bereit, innerhalb derer Entwickler Anwendungen erstellen. Durch die im Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. verwendeten Entwurfsmuster beeinflusst es typischerweise auch die Architektur der entstehenden Software. So unterstützen etwa die Microsoft Foundation Classes das Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.-Muster.

Ralph E. Johnson und Brian Foote beschrieben ein Framework 1988 im Artikel Designing Reusable Classes im Journal of Object-Oriented Programming als:

„Ein Framework ist eine semi-vollständige Applikation. Es stellt für Applikationen eine wiederverwendbare, gemeinsame Struktur zur Verfügung. Die Entwickler bauen das Framework in ihre eigene Applikation ein und erweitern es derart, dass es ihren spezifischen Anforderungen entspricht. Frameworks unterscheiden sich von Toolkits dahingehend, dass sie eine kohärente Struktur zur Verfügung stellen, anstatt einer einfachen Menge von Hilfsklassen.“<ref>Ralph E. Johnson, Brian Foote: “Designing Reusable Classes” im "Journal of Object-Oriented Programming" (1988); "A framework is a semi-complete application. A framework provides a reusable, common structure to share among applications. Developers incorporate the framework into their own application and extend it to meet their specific needs. Frameworks differ from toolkits by providing a coherent structure, rather than a simple set of utility classes."; Quelle: Petar Tahchiev, Felipe Leme, Vincent Massol: JUnit in Action, 2. Auflage, broschiert, Manning Publications, 2010, ISBN 1935182021, Seite 4</ref>

Frameworks geben in der Regel die grundlegende Anwendungsarchitektur vor. Charakteristisch ist dabei die (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.) (Umkehrung der Steuerung): Programmierer registrieren konkrete Implementierungen, die anschließend vom Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. aufgerufen und verwaltet werden. Wird diese Registrierung nicht im Quellcode festgelegt, sondern extern konfiguriert, spricht man von Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden..

Ein Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. definiert insbesondere den Kontrollfluss einer Anwendung sowie die Schnittstellen, die konkrete Klassen implementieren müssen. Es dient damit der Wiederverwendung bewährter architektonischer Muster. Da solche Muster stets auf eine bestimmte Problemdomäne zugeschnitten sind, sind Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. meist domänenspezifisch oder auf bestimmte Anwendungstypen beschränkt – etwa grafische Editoren, Buchhaltungssysteme oder Webshops.

Eine allgemeingültige Definition existiert nicht, da Frameworks sehr unterschiedlich ausgeprägt sein können. Der Begriff wird daher häufig unscharf verwendet; mitunter werden bereits umfangreiche Klassensammlungen als Framework bezeichnet.

Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.- und Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.[Bearbeiten]

Die Unterscheidung zwischen Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.- und Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.-Frameworks bezieht sich auf die Sichtbarkeit und Zugänglichkeit der Implementierung hinter einer Schnittstelle.

  • Bei einer Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.-Abstraktion kennen Klienten nur die Spezifikation der Schnittstelle, nicht jedoch deren interne Umsetzung.
  • Bei einer Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.-Abstraktion ist die Implementierung einsehbar und kann durch Vererbung erweitert werden, auch wenn die Schnittstelle weiterhin eine gewisse Kapselung erzwingt.

Einige Autoren unterscheiden zusätzlich zwischen Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. (Erweiterung möglich) und Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. (nur Einsicht möglich).<ref name="Component Software">Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.</ref>

Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.-Typen[Bearbeiten]

Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. lassen sich – ohne strikte Abgrenzung – in folgende Kategorien einteilen:

Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.
bilden das Programmiergerüst für eine bestimmte Klasse von Anwendungen (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.), die grundlegende Funktionen und Programmstrukturen bereitstellen.
Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.
bilden das Programmiergerüst für einen spezifischen Problembereich (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.), das typische Funktionen und Strukturen dieser Domäne bündelt.
Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.
fassen Klassen und Methoden zusammen, die Unterstützung auf einer bestimmten Abstraktionsebene für ein breites Anwendungsspektrum bieten.
Komponenten-Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.
abstrahieren von der objektorientierten Ebene und stellen eine Umgebung zur Entwicklung und Integration von Software-Komponenten bereit. Software-Komponenten werden dabei meist als Bündel von Klassen mit eindeutig definierten Schnittstellen betrachtet.
Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.
(wie Jini und UPnP) ermöglichen die Interaktionen zwischen Geräten und unterstützen deren Interoperabilität. Wenn beispielsweise ein „Jini-fähiger“ Drucker an ein Netzwerk angeschlossen wird, welches Jini verwendet, so kann er selbständig anderen Geräten mitteilen, was für eine Art von Drucker dazugekommen ist.
Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.
dienen zur Ausführung automatisierter Softwaretests, etwa JUnit für Modultests oder Selenium für Webanwendungen.
Webframeworks
sind ausgelegt für die Entwicklung dynamischer Websites, Webanwendungen oder Webservices.

Bekannte Frameworks[Bearbeiten]

Aufgrund der uneinheitlichen Begriffsverwendung ist die Zuordnung einzelner Systeme nicht immer eindeutig. Beispiele sind:

Literatur[Bearbeiten]

  • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
  • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.

Weblinks[Bearbeiten]

Wiktionary: framework – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen

Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.

Einzelnachweise[Bearbeiten]

<references />

Vorlage:HinweisbausteinVorlage:Wikidata-Registrierung