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: Als Java-Version wird standardmäßig das Java 17 zusammen mit der Entwicklungsumgebung IntelliJ IDEA (Community-Edition) eingesetzt. 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
V-Research, Bundesministeriums für Gesundheit, Steria Mummert ISS, KBU, …
Verweise

Alle Kategorien

Was Teilnehmer sagen

›Das tutego-Seminar war genau auf unsere Wünsche abgestimmt. Somit konnten wir 100% davon in unser Tagesgeschäft übernehmen.‹
Jens-Peter B., Rossmann

›Bester Kurs, den ich je besucht habe.‹
Kent G., Deutsche Bank

›Schöne Schulung. Endlich das ein oder andere AHA-Erlebnis.‹
Teilnehmer, innovas

›Die lockere, aber stets themenbezogene Art des Trainers, die es ihm ermöglicht, auch schwierige Sachverhalte deutlich zu machen [hat mir besonders gut gefallen].‹
Jörg H., Bundeswehr

›[Der tutego-Trainer] hat es mühelos geschafft, auch komplizierte Sachverhalte leicht verständlich darzustellen. Seine Begeisterung für das Thema hat sich nachhaltig auf die Teilnehmer übertragen - ich kann den Trainer nur weiterempfehlen.‹
Mathias W., Deutsche Afrika-Linien

›Referent war sehr kompetent. Referent ging stets auf Fragen ein.‹
Reinholt P., debis Systemhaus

›Guter Dozent, der weiß wovon er redet.‹
Jochen H., Dresdner Bank

›Die tutego-Trainer waren äußerst kompetent, konnten ihr Wissen sehr gut vermitteln und sind stets auf alle Fragen und Problemstellungen eingegangen.‹
Teilnemer, Nö. Gebietskrankenkasse

›Die Vortragsart des Referenten und dessen fachliche Sicherheit [hat mit sehr gefallen]. Gute Übungen, Konzentration auf das Wesentliche.‹
Gil R., MDR

›Durch seine moderne und kompetente Art schafft es C. Ullenboom mit seinem fundierten Hintergrundwissen den Seminarteilnehmern jedes Thema aus dem Bereich Java verständlich zu machen und das Interesse für neue Technologien zu wecken.‹
René D., Servicezentrum Landentwicklung und Agrarförderung

›Vielen Dank noch einmal für das interessante und umfangreiche Seminar. Mir persönlich hat es viel gebracht!.‹
Thomas S., Sächsische Aufbaubank/Förderbank

›[Der tutego-Trainer] hat uns das komplexe Thema Objective-C sehr kompetent vermittelt. Beide Trainings waren individuell auf uns abgestimmt.‹
Andre M., Gathmann Michaelis und Freunde

›Die Schulung ist sehr gut bei den Teilnehmern angekommen. Ich habe bisher nur positives Feedback erhalten.‹
Torsten L., Netbiscuits

›Wir waren mit dem Kurs sehr zufrieden. Auch die Unterlagen sind sehr gut aufbereitet.‹
Igor R., typo3expert.at

›Die Abstimmung im Vorfeld über die Inhalte ist gut gelaufen, es war eine sehr individuelle Betreuung, wie man das von einem Inhouse Seminar in dieser Form erwartet hat.‹
Dr. Andreas V., edacentrum

›Die Kursteilnehmer waren mit dem Kurs sehr zufrieden. In den vier abgehaltenen Seminarblöcken wurden die Kursanforderungen vollständig abgedeckt, die Kursinhalte konnten individuell abgesprochen werden.‹
Teilnemer, Nö. Gebietskrankenkasse

›Die Schulung bot einen kompakten und zielgerichteten Wissenstransfer auf hohem Niveau. Im Ergebnis für alle Teilnehmer eine echte Bereicherung.‹
Johannes W., Schönhofer Sales and Engineering

›Das Training war logisch strukturiert, inhaltlich auf unseren fachlichen Anspruch abgestimmt und hat zudem noch Spaß gemacht. Vielen Dank für diese tolle Schulung.‹
Christoph G., my.IRS

›Wir waren sehr zufrieden. Die Teilnehmer haben das mitgenommen, was sie brauchten und erwartet haben.‹
Michael O., Basler Versicherungen

›Das thematisch flexibel gestaltete Seminar hat unsere Einsteiger und auch fortgeschrittenen Teilnehmer begeistert.‹
Ralph B., PiSA sales

›Wir kommen sicherlich wegen des nächsten geplanten Seminars auf den tutego-Trainer zurück.‹
Ralph B., PiSA sales

›Wir waren mit dem C# Seminar sehr zufrieden. Der Referent hat unsere Sonderwünsche sofort, kompetent und eingehend behandelt. Wir hoffen auf eine baldige Fortsetzung des Seminars zur Vertiefung des Stoffes. ‹
Winfried S., Lacroix Electronics

›Der Trainer hat die Balance zwischen den unterschiedlichen Vorkenntnissen von Anfängern und Fortgeschrittenen hervorragend gemeistert.‹
Brigitte K., Rutronik Elektronische Bauelemente GmbH

›Wir waren sehr zufrieden mit den Workshop und die Erwartungen wurden sogar übertroffen. Zudem ist auch die Nachbetreuung durch den tutego-Referenten exzellent.‹
Oliver J., SRS-Management

›Wir waren rundum zufrieden und würden uns freuen, den tutego-Referenten bei weiteren Schulungen in unserem Hause begrüßen zu dürfen.‹
Carsten P., Barmenia Versicherungen

›Ihr Dozent hat bei uns für zwei spannende Tage gesorgt, ich habe nur positive Feedback von meinen Kollegen gehört. Sowohl seine Kompetenz als auch der Inhalt der Schulung, sowie die Art und Weise, wie er das präsentiert hat, kamen sehr gut an!‹
Wladimir J., circ IT

›Das Java Seminar hat uns einen grossen Schritt nach vorne gebracht, da es genau auf unsere Bedürfnisse zugeschnitten war. Vielen Dank nochmals dafür.‹
Wolfgang S., signotec

›Der Dozent hatte sich relativ schnell auf unser doch sehr hohes Niveau eingestellt und die Schulung entsprechend dynamisch angepasst.‹
Torsten L., Netbiscuits

›Die Schulung [...] hat prima geklappt und die Teilnehmer waren ausnahmslos mit dem Trainer sehr zufrieden. Das vermittelte Wissen wird uns sicher den Start in eine neue Technologie ermöglichen.‹
Hendrik F. d. C., Wincor Nixdorf International

›Der Trainer war gut vorbereitet und hoch motiviert und er hat zwischen Frontvortrag, interaktiver Entwicklung des Stoffs am Whiteboard und praktischen Übungen am PC gut gewechselt.‹
Hendrik F. d. C., Wincor Nixdorf International

›Ich würde den Dozenten jederzeit weiterempfehlen und wäre auch nicht abgeneigt, weitere Kurse von Ihm abhalten zu lassen.‹
Torsten L., Netbiscuits

›Der PrimeFaces-Kurs mir persönlich sehr gut gefallen. Der Kursleiter hat es geschafft uns die Besonderheiten von PrimeFaces zu vermitteln.‹
Greta Z., Raiffeisenverband

›Der Referent ist auch auf unsere Fragen eingegangen und hat diese sehr professionell beantwortet.‹
Greta Z., Raiffeisenverband

›Die Themen waren spannend und sehr breit aufgestellt. Der Trainer hat die Themen gut vermittelt.‹
Teilnemer, gadiv

›Der Referent konnte sowohl die fachlichen Inhalte als auch deren Hintergründe absolut verständlich vermitteln. Da er unsere Fragen stets in Bezug auf unsere individuellen Anforderungen beantworten konnte, war es möglich, beim Lernen einen hohen Grad an Einprägung zu erreichen.‹
Teilnemer, KKS Marburg

›Der Dozent ist sowohl in Java zu Hause als auch ein erfahrener "Wissensvermittler".‹
Eduard K., Kathrein

›Der zu vermittelnde Stoff ist didaktisch sehr gut aufbereitet und immer gut zu verstehen.‹
Eduard K., Kathrein

›Auf Fragen geht der Dozent umfassend ein und schafft auch dabei Brücken zu weiteren kursrelevanten Themen einzubauen.‹
Eduard K., Kathrein

Der Kurs zeigt in gut strukturierter Form die typischen Sicherheitslücken einer Web-Applikation auf. Alles in allem ein sehr nützlicher Kurs, der einem die Augen öffnet und konkrete Lösungen zu den Problemen anbietet.‹
Teilnehmer, University of Luxembourg

Der Dozent ist auf alle Fragen eingegangen, war sehr kompetent und sympathisch.‹
Teilnehmer, University of Luxembourg

Die Weiterbildung hat mir zum Thema Objektorientierung in Java viel gebracht. Die aufeinander aufbauenden Praxisübungen verdeutlichen den theoretischen Teil sehr gut.‹
Oleg N., Technische Informationsbibliothek Hannover (TIB)