Was ist ein Framework - Hochschule Ravensburg

Werbung
Informatikseminar
Entwicklung eines generischen Frameworks auf
Javabasis unter Anwendung verschiedener
Designpatterns
Wolfram Lutz
FH Ravensburg-Weingarten
WS 2004/2005
Java Framework
Inhalt
ƒ
ƒ
ƒ
ƒ
Was ist ein Framework
Entwurfsmuster
Factory Pattern / Fabrikmuster
Abstract Factory mit Object Broker
2
Java Framework
Was ist ein Framework?
ƒ Framework (engl. Rahmenwerk, Fachwerk)
ƒ keine Programmbibliothek
ƒ Ein Framework definiert eine Standard-Softwarearchitektur.
ƒ Ein Framework ist auf eine spezielle Art von Applikationen und
Anwendungsbereich ausgerichtet.
ƒ Nur noch an ganz bestimmten Stellen muss applikationsspezifischer
Code "eingehängt" werden.
3
Java Framework
Was ist ein Framework?
ƒ Ein Framework ist ein nicht-lauffähiges Klassenmodell, welches
durch Vererbung der Methoden oder durch Delegation an
Framework-Klassen und durch einen definierten Einstiegspunkt eine
spezielle Anwendung realisiert.
ƒ Technisch gesehen besteht ein Framework aus einer Reihe von
Klassen bzw. Bibliotheken.
Beispiele:
ƒ .NET Framework
ƒ Enterprise Java Beans
ƒ Jakarta Struts
4
Java Framework
Vorteile eines Frameworks
ƒ Wiederverwendung von Code
ƒ Grundfunktionalitäten, die in jeder Anwendung vorkommen, müssen
nicht immer wieder neu implementiert werden.
ƒ Der Einsatz eines Frameworks in mehreren Anwendungen minimiert
die Fehlerquote im Quellcode.
ƒ bessere Übersichtlichkeit im Code
ƒ Integration in Entwicklungswerkzeuge
ƒ Erleichterung der Programmierung
5
Java Framework
Nachteile eines Frameworks
ƒ initialer Programmieraufwand kann hoch sein
ƒ Einarbeitungszeit kann lange dauern
ƒ Programmieroverhead in manchen Fällen
6
Java Framework
Entwurfsmuster
ƒ Engl. Design Pattern
ƒ beschreiben erfolgreiche Lösungen für Entwurfsprobleme
ƒ eine wieder verwendbare Vorlage zur Problemlösung
Beispiele:
ƒ
ƒ
ƒ
ƒ
ƒ
Singleton
Factory
Facade
Flyweight
Delegate
7
Java Framework
Factory Pattern / Fabrikmuster
8
Java Framework
Factory Pattern / Fabrikmuster
ƒ Es werden Objekte eines bestimmten Typs produziert.
ƒ Zu beachten ist, dass die von "Fabriken" erzeugten Objekte zu einer
im Voraus bekannten Schnittstelle passen.
ƒ Die konkrete Ausprägung ist dem Aufrufer dagegen unbekannt.
ƒ Dadurch ist eine "Fabrik" in der Lage, je nach Kontext verschiedene
spezialisierte Objekte eines gemeinsamen Typs bzw. mit einer
gemeinsamen Schnittstelle bereitzustellen, ohne dass der Aufrufer
diese speziellen Typen kennen muss.
9
Java Framework
Abstract Factory mit Object Broker
10
Java Framework
Abstract Factory mit Object Broker
11
Java Framework
Zusätzliche Vorteile durch den Object Broker
ƒ Von einer Factory gibt es jeweils nur eine Instanz, dadurch weniger
erzeugte Objekte.
ƒ Der Client muss nur den Object Broker kennen, nicht die Factories.
ƒ Einem Produkt zugeordnete Factory kann durch Konfiguration
ausgetauscht werden.
12
Java Framework
Commons DbUtils: JDBC Utility Component
ƒ DbUtils machen die Arbeit mit JDBC effektiver.
ƒ DbUtils vereinfachen JDBC im Bereich Queries, Updates und Inserts
(Einfügen von Parametern in PreparedStatements und generisches
Lesen der Daten eines ResultSets), sowie bei der Verwaltung von
Datenbankverbindungen (auch in Verbindung mit dem Jakarta
Commons Pool) und Statements.
ƒ Sauberer, klarerer Quellcode.
ƒ Der Quellcode wird drastisch reduziert.
13
Herunterladen