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