Ein Application Framework legt ein Paradigma für zukünftige Anwendungen fest. Im Framework sind bereits die gemeinsamen Aspekte der Anwendungen realisiert (Kontrollfluß, Speicherung, Kommunikation, Visualisierung).
Sogenannte "Hooks" (Haken) entkoppeln das Framework vom Anwendungskontext, in die der spätere Anwendungsprogrammierer die spezifische Funktionalität "einhakt".
Ein Framework wird einmal entwickelt, und dann für verschiedene Anwendungen wiederverwendet. Der Aufwand für Anwendungsprogrammierung/anpassung wird dadurch drastisch reduziert.
Frameworks gehen über die Wiederverwendbarkeit von Code hinaus -- Sie ermöglichen die Wiederverwendung von Architektur
Für die eigentliche Anwendungssentwichlung können auch weniger erfahrenere Programmierer eingesetzt werden, da sie auf die von Fachleuten im Vorfeld geleistete Arbeit aufbauen und sich ganz auf den spezifischen Anwendungskontext konzentrieren können.
Ein Unternehmen kann somit sehr schnell Anwendungen erstellen bzw. diese anpassen, wenn sich Änderungen in den Geschäftsabläufen ergeben.
Frameworks zu entwickeln ist extrem aufwendig und nur von Experten zuleisten. Ein
Entwicklungsteam darf sich nicht nur aus technischen Fachleuten zusammensetzen, auch
solche, die die Geschäftsprozesse verstehen, gehören zwingend dazu.
Frameworks gehen über das Prinzip der Design Patterns weit hinaus. Design Pattern beschreiben nur die statischen Aspekte eines Modells (Design Pattern sind eine Untermenge von Frameworks).
Frameworks stecken noch in den Kinderschuhen, der Markt bietet noch kein umfangreiches
Produktspektrum.
IX 5/2000: Frameworks: Königsweg der Wiederverwendung? Java Spektrum 3/2000: Muster und Frameworks mit UML-Werkzeugen effektiv nutzen