20 Jahre Erfahrung FreeCall 0800 tutegos

Design Pattern (Entwurfsmuster) in Java

Entwurfsmuster (Design Patterns) unterstützen Systementwickler mit bewährten kontextunabhängigen Lösungen für bekannte und wiederkehrende Entwurfsprobleme. Das Seminar zeigt alle 23 — oder 24, wenn man Adapter als Klassenmuster und Objektmuster doppelt zählt — allgemein anerkannten Entwurfsmuster der ›Gang of Four‹ (GoF) auf und schult das Denken in Lösungsstrukturen, um übliche komplexe Probleme, wie die Trennung von Geschäftslogik und Benutzeroberfläche, elegant zu realisieren. Jeder Software-Entwickler wird mit dem dokumentierten Wissen über die Entwicklungserfahrung ermuntert, nicht mehr nur in einzelnen Klassen, sondern in ganzen Lösungsstrukturen zu denken und zu modellieren. Übungen mit Fallbeispielen vertiefen das Verständnis für die zu Grunde liegenden objektorientierten Konzepte, um in Mustern und Mustersprachen zu denken, und sie im Projekt intuitiv einsetzen zu können. Das verkürzt später die Entwicklungszeit und erhöht die Wartbarkeit.

Inhalte des Seminars

Einführung in Muster

  • Was sind Muster in der Software-Entwicklung?
  • Idiom, Entwurfsmuster, Analysemuster, Architekturmuster
  • Anti-Muster: Wie es nicht sein sollte
  • Kategorien von Mustern
  • Klassen- und objektbasierte Muster
  • Nachteile von Mustern?
  • UML-Notation von Mustern
  • Refactoring mit Pattern durchführen
  • Muster und Frameworks

Fundamentale Muster

  • Schnittstellen, Interface-Implementation Paar, Programmieren gegen Schnittstellen, Markierungsschnittstellen
  • Delegation, Delegate
  • Immutable
  • Iteratoren in Java
  • Null-Objekt
  • Collecting Parameter Pattern
  • Union Pattern
  • Bean-Pattern

Erzeugungsmuster (Creational Pattern)

  • Fabrikmethode (Factory Method): Erzeugt Objekte
  • Abstrakte Fabrik (Abstract Factory): Erzeugt Familien von Objekten
  • Erbauer (Builder): Konstruktion aus Teilen zusammensetzen
  • Prototyp (Prototype): Erzeugt Objekt von einer Vorlage
  • Singleton: Erzeugt genau ein Objekt

Strukturmuster (Structural Pattern)

  • Adapter: Bringt unterschiedliche Schnittstellen zusammen
  • Brücke (Bridge): Trennt Implementierung von Abstraktion
  • Dekorierer (Decorator): Erweitert Klasse um Funktionalität
  • Fassade (Facade): Bietet einheitliche Schnittstelle
  • Fliegengewicht (Flyweight): Verwaltet effektiv große Mengen kleiner Objekte
  • Kompositum (Composite): Bildet Teil/Ganzes-Beziehung
  • Proxy: Definiert Stellvertreter

Verhaltensmuster (Behavioral Pattern)

  • Interpreter: Verarbeitet eine eigene Sprachgrammatik
  • Schablonenmethode (Template Method): Unterklassen bestimmen Verhalten
  • Befehl (Command): Trennt Befehl und Ausführung
  • Beobachter (Observer): Realisiert Benachrichtigungen
  • Besucher (Visitor): Kapselt Operation für Elemente
  • Iterator: Läuft Elemente einer Sammlung ab
  • Memento: Bildet Zustand für Sicherung ab
  • Strategie (Strategy): Erlaubt Austausch von Algorithmen
  • Vermittler (Mediator): Koppelt Objekte
  • Zustand (State): Erlaubt Austausch von Verhalten
  • Zuständigkeitskette (Chain of Responsibility): Fragt Objekte nach Verarbeitungswunsch

Muster in der Java-Bibliothek

  • Composite-Muster bei Container und Component
  • Viele Fabrik-Methoden und getInstance
  • Prototyp-Muster mit clone
  • System, Runtime und Toolkit als Singletons
  • BufferedInputStream und GZIPInputStream als Dekoratoren
  • Datenstrukturen der Collection-API und Iterator-Pattern
  • Proxy-Muster bei RMI
  • Kommando-Objekte beim Undo-Framework
  • Brücke bei nativen Peer-/AWT-Komponenten
  • Das Beobachter-Muster mit java.util.Oberservable/java.util.Observer
  • DriverManager und die Zuständigkeitskette

Ausblick auf weitere Mustersammlungen

  • Die Pattern-Szene
  • Abgrenzung zu Analysemustern und Architekturmustern
  • Kataloge und Sammlungen
  • Java EE Pattern
  • Pattern-Oriented Software Architecture (POSA); Pattern von Frank Buschmann et al.
  • GRASP-Pattern (General Responsibility Assignment Software Patterns)
  • Pattern Languages von Martin, Riehle, Buschmann
  • Pattern für Enterprise Applikationen von Martin Fowler
  • Implementation Patterns von Kent Beck

Termine / Kontakt

Jedes Seminar führt tutego als kundenangepasstes Inhouse-Seminar durch.

Alle unsere Seminare können zudem als Live-Online-Seminar besucht werden.

Wir helfen Ihnen gerne bei der Anmeldung und einen passenden Termin zu finden. Kontaktieren Sie uns per E-Mail oder unter 0800/tutegos (kostenlos aus allen Netzen).

Die Fakten

  • Empfohlene Schulungsdauer: 4 Tage, insgesamt 32 Unterrichtsstunden à 45 Minuten
  • Zielgruppe: Designer, Software-Entwickler
  • Vorkenntnisse: Tiefes Verständnis der objektorientierten Begriffe und Konzepte. Vertrauter Umgang mit dem Klassendiagramm der UML. Der Kurs ›Java Grundlagen‹ oder vergleichbare Kenntnisse.
  • Schulungsunterlagen: Deutschsprachige Unterlagen (Kopien der Folien mit Inhaltsverzeichnis und Index), Zertifikat
  • Seminar-Software: Java 21 ist die Standardversion, die in Verbindung mit der IntelliJ IDEA (Community-Edition) verwendet wird. Auf Wunsch auch die Eclipse IDE (Paket ›Eclipse IDE for Enterprise Java Developers‹) oder andere Entwicklungsumgebungen (NetBeans, Oracle JDeveloper) und JDK 8. Bei Demonstrationen wird standardmäßig ein UML-Werkzeug wie ›Borland Together für Eclipse‹ oder Omondo’s ›EclipseUML‹ als Plugin eingesetzt.

Weiterführende Seminare

Refactoring, Effektiv Java programmieren, Java EE Architektur und Design Patterns

Einblick in die Unterlagen
Einige Kunden
KBU, Steria Mummert ISS, V-Research, Bundesministeriums für Gesundheit, …
Verweise

Alle Kategorien

Was Teilnehmer sagen