Lukas Klich. Projektgruppe SHUTTLE. Seminar: Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 1. Entwurfsmuster
|
|
- Helmut Kuntz
- vor 7 Jahren
- Abrufe
Transkript
1 Entwurfsmuster Lukas Klich Projektgruppe SHUTTLE Seminar: Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 1
2 Motivation Die Menschheit löst Probleme, indem sie beobachtet, Beobachtungen verallgemeinert und die gemachten Erfahrungen zu immer wieder verwendbaren Mustern abstrahiert. Dr. Holger Giese, Design Pattern and Software Architecture, WS01/02 Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 2
3 Muster Der Begriff des Musters wurde von Christopher Alexander, einem Architekt, in seinem Buch A Pattern Language wie folgt geprägt: Ein Muster beschreibt ein in unserer Umwelt beständig wiederkehrendes Problem und erläutert den Kern der Lösung für dieses Problem, so dass man diese Lösung beliebig oft anwenden kann, ohne sie zweimal gleich auszuführen. Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 3
4 Was sind Entwurfsmuster? Entwurfsmuster sind Beschreibungen zusammenarbeitender Objekte und Klassen, die maßgeschneidert sind, um ein allgemeines Entwurfsproblem in einem bestimmten Kontext zu lösen. Entwurfsmuster kommen aus der Praxis. Werden gefunden und nicht entwickelt. Es sind auf Erfahrungen beruhende abstrakte Lösungsbeschreibungen für allgemeine Probleme in der objektorientierten Softwareentwicklung. Entwurfsmuster sind dokumentiertes Expertenwissen. Entwurfsmuster wurden durch das Buch Entwurfsmuster von Gamma, Helm, Johnson und Vlissides (GoF) bekannt gemacht. Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 4
5 Was sind Entwurfsmuster nicht? Keine fertigen Schablonen für ein zu erstellendes Programm. Beschäftigen sich nicht mit der Implementierung, sondern mit dem Entwurf wiederverwendbarer Software. Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 5
6 Beschreibung von Entwurfsmustern (1) Mustername: Klassifizierung: Zweck: Motivation: Struktur: vermittelt knapp und präzise den Inhalt zu welcher Klasse gehört das Muster kurze Beschreibung was das Muster bewirkt Szenario, das zeigt wie das Muster ein Problem löst Struktur des Musters in Form von Klassen- und Objektdiagrammen Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 6
7 Beschreibung von Entwurfsmustern (2) Teilnehmer: am Entwurfsmuster beteiligten Klassen und Objekte sowie ihre Zuständigkeiten Interaktionen: beschreibt wie Teilnehmer zusammenarbeiten um die gemeinsame Aufgabe zu erfüllen Konsequenzen: wie werden die Ziele erreicht? Vor- und Nachteile der Anwendung des Musters Beispiele: Codefragment Verwandte Muster: setzt das Muster in Bezug zu anderen Mustern. Zeigt mit welchen Mustern das Muster zusammen verwendet werden kann Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 7
8 Klassifizierung von Entwurfsmustern Erzeugungsmuster: befassen sich mit der erzeugenden Tätigkeit Strukturmuster: Verhaltensmuster: behandeln die Zusammensetzung von Klassen und Objekten charakterisieren die Zusammenarbeit zwischen Klassen oder Objekten klassenbasiert: objektbasiert: beziehen sich auf Klassen (Unterklassenbildung Vererbung) beziehen sich auf Objekte (Objektkomposition Delegation) Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 8
9 Entwurfsmuster verwenden 1. Für das zu lösende Problem geeignetes Muster auswählen. 2. Das Muster, die Beziehungen zwischen seinen Komponenten, verstehen. 3. Klassen definieren und dabei die Klassen, die vom Muster beeinflusst werden, identifizieren. 4. Operationen so implementieren, dass sie die durch das Muster vorgegebene Funktionalität erfüllen. 5. Muster nur dort anwenden, wo sie benötigt werden. Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 9
10 Idiome Ein Idiom ist ein Muster von geringerem Abstraktionsgrad. Idiome beschreiben eine Lösung eines Implementierungsproblems in einer bestimmten Programmiersprache. Idiome können Bezug auf die konkrete Implementierung eines anderen Entwurfsmusters in einer bestimmten Programmiersprache nehmen. Idiome zeigen, wie man eine bestimmte Programmiersprache für gewisse Aspekte der Implementierung erfolgreich einsetzen kann. Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 10
11 Architekturen Architekturmuster sind Muster von hohem Abstraktionsgrad. Architekturmuster behandeln die Aufteilung eines Software- Systems in seine Subsysteme. Beschreiben dabei die Beziehungen der Subsysteme zueinander. Werden in drei Klassen unterteilt Sicherheits- und Zuverlässigkeitsmuster Ressourcen Muster Muster für verteilte Systeme Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 11
12 Muster stellen sich vor Entwurfsmuster: Singleton (Erzeugungsmuster) Kompositum (Strukturmuster) Strategie (Verhaltensmuster) Architekturen: Real-Time Observer (Muster für verteilte Systeme) Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 12
13 Singleton (1) Zweck des Musters: Garantiert, dass nur eine Instanz einer Klasse existiert. Auf diese Instanz kann nur über die Klasse zugegriffen werden. Motivation: Es ist manchmal notwendig, dass es nur eine Instanz einer Klasse gibt (die Wurzel eines Baumes). Es sollte einem Klienten nicht möglich sein, weitere Instanzen der Klasse zu erzeugen. Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 13
14 Singleton (2) Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 14
15 Singleton (3) Interaktionen: Die Klienten können auf ein Singletonobjekt nur über die Operation Exemplar zugreifen. Die Exemplar Operation kann auf die Variable einzigesexemplar zugreifen, die die einzige Instanz der Klasse aufnehmen kann. Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 15
16 Implementierung in Java: Singleton (4) public class Singleton { private static Singleton einzigesexemplar = null; protected Singleton() { System.out.println( Erzeuge Singleton ); } public static synchronized Singleton getinstance() { if (einzigesexemplar == null) { einzigesexemplar = new Singleton(); } return einzigesexemplar; } } Die Aufrufe von: System.out.println( Erzeuge a ); Singleton a = Singleton.getInstance(); System.out.println( Erzeuge b ); Singleton b = Singleton.getInstance(); führen zu folgender Bildschirmausgabe: Erzeuge a Erzeuge Singleton Erzeuge b Der Konstruktor wird nur einmal aufgerufen! Singletonmuster besagt, dass es nur ein Objekt einer Klasse geben darf. Deshalb müssen wir die Bildung von Instanzen mittels eines Konstruktors unterbinden. Da der Compiler einen Defaultkonstruktor definiert, wenn kein anderer definiert ist und dieser einen öffentlichen Zugriff erlaubt, müssen wir einen eigenen Konstruktor verwenden. Den Zugriff verhindern wir, indem der Konstruktor das Zugriffsrecht protected erhält. Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 16
17 Kompositum (1) Zweck des Musters: Füge Objekte zu Baumstrukturen zusammen, um Teil-Ganzes- Hierarchien darzustellen. Ermöglicht es Klienten, einzelne Objekte und Objektkompositionen einheitlich zu behandeln. Motivation: Komposition ermöglicht es, komplexe Strukturen aus einfachen Objekten zu erstellen. Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 17
18 Kompositum (2) Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 18
19 Kompositum (3) Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 19
20 Kompositum (4) Interaktionen: Der Klient verwendet die Klassenschnittstelle von Komponente, um mit Objekten in der Kompositionsstruktur zu interagieren. Falls der Empfänger einer Anfrage eine konkrete Komponente ist, so wird die Anfrage sofort abgearbeitet. Falls der Empfänger einer Anfrage ein Kompositum ist, so wird die Anfrage an seine Unter-Komponenten (Kinder) geleitet. Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 20
21 Strategie (1) Zweck des Musters: Definiert eine Familie von Algorithmen, kapselt jeden einzelnen und macht sie austauschbar. Ermöglicht, den Algorithmus unabhängig von ihn nutzenden Klienten zu variieren. Motivation: Es gibt viele Algorithmen die eine Aufgabe (Sortieren) erledigen können. Es sollten nicht alle Algorithmen innerhalb einer Klasse kodiert werden (Aus Gründen der Erweiterbarkeit und Wartbarkeit). Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 21
22 Strategie (2) Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 22
23 Strategie (3) Interaktionen: Das Strategie- und das Kontextobjekt arbeiten zusammen, um einen ausgewählten konkreten Algorithmus zu implementieren. Das Kontextobjekt ruft ein Strategieobjekt, das in sich den Algorithmus kapselt, auf. Alle Daten, die der Algorithmus benötigt, werden beim Aufruf übergeben. Es kann sich dabei um das gesamte Kontextobjekt handeln. Eine Strategie wird dem Kontextobjekt von Außen zugeordnet, durch den Klienten. Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 23
24 Zweck des Musters: Real-Time Observer (1) An Echtzeitvoraussetzungen angepasstes Beobachtermuster. Beschreibt das Zusammenspiel zwischen Server und Observer, so dass bei einer Änderung im Server alle Klienten benachrichtigt und aktualisiert werden. Motivation: Klienten, die von rechzeitigen Datenupdates abhängig sind, sollten aktualisiert werden, wenn sich die Daten auf dem Server ändern. Es sollte dem Klienten gestattet sein sich am Server anzumelden, um automatisch Updates zu empfangen. Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 24
25 Real-Time Observer (2) Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 25
26 Real-Time Observer (3) Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 26
27 Real-Time Observer (4) Interaktionen: Server und Observer sind voneinander entkoppelt. Benachrichtigungsroutine bietet verschiedene Varianten der Nachrichtübermittlung, sodass jeder registrierte Observer mit einer separaten passenden Benachrichtigungsroutine belegt wird. Observer überwacht den Server, wenn sich der Zustand des Servers ändert wird der Observer benachrichtigt und kann die Klienten aktualisieren. Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 27
28 Zusammenfassung Entwurfsmuster spielen in dem Entwurf objektorientierter Software eine wichtige Rolle. Sie unterstützen uns beim Lösen der Entwurfsprobleme und sorgen dafür, dass wir nicht immer wieder das Rad neu erfinden müssen. Erst durch sie wird unsere Software flexibel, elegant und somit wiederverwendbar. Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 28
29 Entwurfsmusterkatalog [Gamma] Entwurfsmuster Aufgabe Erzeugungsmuster Strukturmuster Verhaltensmuster klassenbasiert Fabrikmethode Adapter (klassenbasiert) Interpreter Schablonenmethode Gültigkeitsbereich objektbasiert Abstrakte Fabrik Erbauer Prototyp Singleton Adapter (objektbasiert) Brücke Dekorierer Fassade Fliegengewicht Kompositum Proxy Befehl Beobachter Besucher Iterator Memento Strategie Vermittler Zustand Zuständigkeitskette Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 29
Entwurfsmuster Martin Fesser 00IN
Entwurfsmuster Martin Fesser 00IN Inhalt Was sind Entwurfsmuster? Vorteile, Nachteile Entwurfsmusterkatalog (nach GoF) Variation von Entwurfsaspekten Wie Entwurfsmuster Entwurfsprobleme lösen Beispiele
MehrFakultät für Elektrotechnik Informatik Mathematik Arbeitsgruppe Softwaretechnik Projektgruppe SHUTTLE Warburger Strasse Paderborn
Fakultät für Elektrotechnik Informatik Mathematik Arbeitsgruppe Softwaretechnik Projektgruppe SHUTTLE Warburger Strasse 100 33098 Paderborn Design Patterns Entwurfsmuster Seminarausarbeitung von Lukas
MehrVerhaltensmuster. Entwurfsmuster - Design Patterns. HAW Hamburg Fakultät Technik und Informatik Department Informations- und Elektrotechnik
Entwurfsmuster - Design Patterns HAW Hamburg Fakultät Technik und Informatik Department Informations- und Elektrotechnik 27. November 2009 Gliederung 1 Einführung 2 Strategie-Muster 3 Beobachter-Muster
MehrEntwurfsmuster in Java
Entwurfsmuster in Java Das Observer- und das Decorator-Pattern Friederike Löwe 13. März 2011 Inhaltsverzeichnis Einleitung Wozu eigentlich Entwurfsmuster? Die Grundlage: Design-Prinzipien Das Decorator-Pattern
MehrDesign Patterns II. Der Design Muster Katalog. Prof. Dr. Nikolaus Wulff
Design Patterns II Der Design Muster Katalog Prof. Dr. Nikolaus Wulff Wiederverwendung Wiederverwendung ist das Schlagwort von OOP zur Erhöhung der Produktivität. Es gibt im Prinzip drei Methoden hierzu:
MehrEntwurfsmuster. Marc Monecke
Entwurfsmuster Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 20. Mai 2003 Inhaltsverzeichnis 1 Grundlagen
MehrÜberblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio
Entwurfsmuster Eine Einführung Botond Draskoczy Marcus Vitruvius Pollio Überblick Historie, Literatur Das Flugapparat-Bildschirmschoner-Projekt (FBP) Das internetbasierte Solar-Netzwerk (SNW) Zusammenfassung
MehrStructural Patterns. B. Sc. Andreas Meißner
Structural Patterns B. Sc. Andreas Meißner Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Systeme, Universität Hannover 11/16/2004 Gliederung 1. Wiederholung Entwurfsmuster
MehrObjektorientierte und Funktionale Programmierung SS 2014
Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten
MehrSoftware Engineering II
Software Engineering II 9 Entwurfsmuster Prof. Dr. Dirk Müller Übersicht Einführung Geschichte Anforderungen und Nutzen Grundlegende Elemente Alphabetischer GoF-Katalog 11 GoF-Muster im Detail Nachteile
MehrEntwurfsmuster (Design Patterns)
Entwurfsmuster (Design Patterns) SEP 303 Entwurfsmuster (Design Patterns) In der alltäglichen Programmierarbeit tauchen viele Probleme auf, die man schon einmal gelöst hat und die man in der Zukunft wieder
MehrCreational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.
Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational
MehrEntwurfsmuster. Tao Zhang Technische Universität München Lehrstuhl für Angewandete Softwaretechnik
Entwurfsmuster Tao Zhang Technische Universität München Lehrstuhl für Angewandete Softwaretechnik Information über Entwurfsmuster Die heutige Vorlesung: Einführung in die Thematik Die Vorlesung am 12.01:
MehrInhaltsverzeichnis. Vorwort Geleitwort von Grady Booch Einleitung... 23
Vorwort.................................................. 17 Geleitwort von Grady Booch................................. 21 Einleitung................................................ 23 1 Einführung...............................................
MehrObjektorientierteund FunktionaleProgrammierung
Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten
MehrEntwurfsprinzip. Entwurfsprinzip
Die Komposition (hat ein Beziehung) ist der Vererbung (ist ein Beziehung) vorzuziehen. Es können Familien von Algorithmen in eigenen Klassensätzen gekapselt werden. Das Verhalten lässt sich zu Laufzeit
MehrObjektorientierte und Funktionale Programmierung
Objektorientierte und Funktionale Programmierung SS 2013 6 Objektorientierte Entwurfsmuster Wissensbassierte Systeme / Wissensmanagement Objektorientierte und Funktionale Programmierung 1 PrüfungstermineOFP
MehrEinführung in die Informatik II
Einführung in die Informatik II SS 2012 6 Objektorientierte Entwurfsmuster Wissensbassierte Systeme / Wissensmanagement Einführung in die Informatik II 1 Prüfungstermine EI II im Sommersemester 2012 Klausurtermine
MehrSoftware-Entwurfsmuster
Software-Entwurfsmuster Prinzip von Entwurfsmustern und einige elementare Beispiele Malte Spiess malte@mathematik.uni-ulm.de Seminar Bildanalyse und Simulation mit Java im WS 2003/2004 Universität Ulm
MehrEffizientes Programmieren
Effizientes Programmieren Praktikum smuster (09.05.2016) Christopher Pietsch Agenda 1 2 smuster 3 4 1 / 23 smuster (09.05.2016) smuster Teil 1 2 / 23 smuster (09.05.2016) smuster Definition: [...] alle
MehrEffizientes Programmieren
Effizientes Programmieren Praktikum smuster (04.07.2017) Christopher Pietsch Agenda 1 2 smuster 3 4 1 / 23 smuster (04.07.2017) smuster Teil 1 2 / 23 smuster (04.07.2017) smuster Definition: [...] alle
MehrSoftware Engineering. 7. Entwurfsmuster
Software Engineering 7. Entwurfsmuster Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Implementierung
MehrDesign Patterns. (Software-Architektur) Prof. Dr. Oliver Braun. Letzte Änderung: :12. Design Patterns 1/26
Design Patterns (Software-Architektur) Prof. Dr. Oliver Braun Letzte Änderung: 11.07.2017 15:12 Design Patterns 1/26 Standardwerk Gang of Four: Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides:
MehrDaniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
MehrDesign Patterns. OO-GetTogether. Volker Michels
1 Design Patterns OO-GetTogether Volker Michels 2 Muster (engl. Pattern) Züllighoven: Ein Muster ist eine Abstraktion von einer konkreten Form, die wiederholt in bestimmten nicht willkürlichen Kontexten
MehrDesign Patterns. 3. Juni 2015
Design Patterns 3. Juni 2015 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Taentzer Softwarequalität 2015 138 Was sind Design Patterns?
MehrSoftware-Architektur. Design Patterns. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München
Software-Architektur Design Patterns Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 11.07.2017 15:12 Inhaltsverzeichnis Standardwerk.................................... 2 Design
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2
MehrModul Software Komponenten. Entwurfsmuster. Roland Gisler
Modul Software Komponenten Entwurfsmuster Roland Gisler Präambel Dozent: Roland Gisler Unterricht: 6. Oktober: Entwurfsmuster (heute) 7. Oktober: Testing 20./21. Oktober: Coaching (Entwurfsmuster, Testing
MehrMatthias Geirhos. Entwurfsmuster. Das umfassende Handbuch. Rheinwerk. Computing
Matthias Geirhos Entwurfsmuster Das umfassende Handbuch Rheinwerk Computing Inhalt Vorwort 17 1 Einführung 19 1.1 Einleitung und allgemeine Hinweise 19 1.1.1 Für wen ist dieses Buch gedacht? 19 1.1.2 Muster
MehrWahlpflichtfach Design Pattern
Wahlpflichtfach Design Pattern Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik miwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338
MehrObjektorientierte Entwurfsmuster
Objektorientierte Entwurfsmuster Claus Lewerentz Brandenburgische Technische Universität Cottbus Fraunhofer FIRST/SWQlab Cottbus Fraunhofer Institut Rechnerarchitektur und Softwaretechnik 12.05.2005, Software-Systemtechnik,
MehrDesign Pattern. Motivation, Beispiel Definition "Das" Buch der Gang of Four Ausführliches Beispiel: Facade Beispiele. Aufgabe
, Beispiel der Gang of Four Ausführliches Beispiel: Beispiele Wiederverwendung ist etwas Gutes...!!! Wiederverwendung (auch: Verständlichkeit, Änderbarkeit, Portierbarkeit etc.) wird auf Design-Ebene ermöglicht
MehrEntwurfsmuster (Design Pattern) ETIS SS05
Entwurfsmuster (Design Pattern) ETIS SS05 Gliederung Motivation Pattern allgemein Proxy-Pattern Zusammenfassung 2 Motivation I Wie gut sind eure Programme strukturiert? Wartbarkeit? - Verständlichkeit
MehrTutorium Softwaretechnik I
Tutorium Softwaretechnik I Moritz Klammler 11. Juli 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA 3.0 1 11. Juli 2017 Moritz Klammler - Tutorium Softwaretechnik
MehrDesign-Patterns-Katalog
Design-Patterns-Katalog Erzeugungsmuster (Creational Patterns) Abstract Factory (Abstrakte Fabrik, siehe Abschnitt 3.1) Bereitstellung einer Schnittstelle zum Erzeugen verwandter oder voneinander abhängiger
MehrTutorium Softwaretechnik I
Tutorium Softwaretechnik I Moritz Klammler 27. Juni 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA 3.0 1 27. Juni 2017 Moritz Klammler - Tutorium Softwaretechnik
MehrSchnittstellen und. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda
Schnittstellen und Abstrakte Klassen 1 Hauptziel der objektorientierten Programmiertechniken ist es, die Flexibilität leichte Anpassbarkeit und Wiederverwendbarkeit von Software zu vereinfachen. 2 Kapselung
Mehr::Zweck. Sicherstellung, dass nur eine Instanz einer bestimmten Klasse existiert
::Singleton ::Index Zweck & Motivation Anwendbarkeit Struktur Teilnehmer & Interaktionen Konsequenzen Implementierung Verwendung Verwandte Muster Erzeugungsmuster Glossar ::Zweck Sicherstellung, dass nur
MehrObjektorientierte Systementwicklung
Karl-Heinz Rau Objektorientierte Systementwicklung Vom Geschäftsprozess zum Java-Programm Mit 162 Abbildungen vieweg Überblick und Vorbemerkungen 1 1 Objektorientierte Software-Entwicklung 5 1.1 Überblick
MehrErzeugungsmuster. Kapselung der Objekt-Erzeugung
Erzeugungsmuster Kapselung der Objekt-Erzeugung Definition Erzeugungsmuster dienen für die Lose Koppelung, bei der erst zur Laufzeit der Typ des zu erzeugenden Objekts festgelegt wird. Abstract Factory
MehrSoftware Engineering II (IB) Design Patterns
Software Engineering II (IB) Design Patterns Prof. Dr. Oliver Braun Letzte Änderung: 16.05.2017 20:56 Software Engineering II (IB), Design Patterns 1/43 Standardwerk Gang of Four: Erich Gamma, Richard
MehrModel-View-Controller
Software Design Pattern Model-View-Controller Michael Lühr Gliederung Einführung und Problemstellung Ansatz durch MVC Detaillierte Darstellung der Komponenten Model View Controller Vor- und Nachteile Zusammenfassung
MehrObjektorientierte Programmierung (OOP)
orientierte Programmierung (OOP) 1. Motivation Die objektorientierte Sichtweise der Welt Als Motivation für die OOP sieht man sich am besten die reale Welt an: Die reale Welt besteht aus "en", z. B.: Gegenstände,
MehrSoftware Engineering II (IB) Design Patterns
Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 16.05.2017 20:56 Inhaltsverzeichnis Standardwerk.................................... 2 Erzeugungsmuster.................................
MehrEntwurfsmuster. Die Entwurfsmuster Observer, State und Singleton am Beispiel einer Digital-Uhr
Entwurfsmuster Die Entwurfsmuster Observer, State und Singleton am Beispiel einer Digital-Uhr Was sind Entwurfsmuster (1) Muster (allg.) sind schematische Lösungen für eine Klasse verwandter Probleme Beschreibung:
MehrEntwurfsmuster und Frameworks Singleton
Entwurfsmuster und Frameworks Singleton Oliver Haase Oliver Haase Emfra Singleton 1/20 Beschreibung I Klassifikation: objektbasiertes Erzeugungsmuster Zweck: sicherstellen, dass eine Klasse nur genau einmal
MehrSoftware Design Patterns Zusammensetzung. Daniel Gerber
Software Design Patterns Zusammensetzung Daniel Gerber 1 Gliederung Einführung Iterator Composite Flyweight Zusammenfassung 2 So wird s werden Problem und Kontext an einem Beispiel vorstellen Lösung des
MehrEntwurfsmuster. Tutorium 7 iloveswt.de Fabian I. Miltenberger INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD)
Entwurfsmuster Tutorium 7 iloveswt.de Fabian I. Miltenberger 06.06.2016 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD) KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrVerteidigung Großer Beleg
Verteidigung Großer Beleg Die GoF-Entwurfsmuster in Java Corinna Herrmann ch17@inf.tu-dresden.de Gliederung 1. Aufgabenstellung 2. Entwurfsmuster 3. Verwandte Arbeiten 4. Beispiele: 4.1. Adapter 4.2. Flyweight
MehrWahlpflichtfach Design Pattern
Wahlpflichtfach Design Pattern Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik miwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338
MehrInhaltsverzeichnis. a. Standorte...3 1. Design Patterns...6. b. Impressum... 16. i. C#.NET...6. ii. Enterprise Integration Patterns...
2 Inhaltsverzeichnis a. Standorte...3 1. Design Patterns...6 i. C#.NET...6 ii. Enterprise Integration Patterns... 8 iii. Entwurfsmuster-Katalog Standard (GoF)...10 iv. Java...12 v. PHP... 14 b. Impressum...
MehrSoftware-Architektur Design Patterns
Design Patterns Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Standardwerk Gang of Four: Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides: Design Patterns:
MehrVorlesung Programmieren
Vorlesung Programmieren Software Design Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Software Design Wie schreibe ich gute Software?
MehrJUnit a Cook s Tour. Framework in Java Automatisierter Ablauf von Testfällen Testläufe kombinieren. Unterlagen als PDF auf der Übungsseite!
JUnit a Cook s Tour Ziel des Frameworks Framework in Java Automatisierter Ablauf von Testfällen Testläufe kombinieren Design des Frameworks Beginne bei Nichts Schritt für Schritt aus passenden Mustern
MehrDecorator Pattern. Analyse- und Design-Pattern CAS SWE FS14. Roland Müller Samuel Schärer
Decorator Pattern Analyse- und Design-Pattern CAS SWE FS14 Roland Müller Samuel Schärer Entwurfsmuster der «Gang of Four» Strukturmuster fassen Klassen und Objekte zu grösseren Strukturen zusammen Adapter
MehrSoftwaretechnik. Überblick I. Prof. Dr. Rainer Koschke. Sommersemester 2009
Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Sommersemester 2009 Überblick I 1 Entwurfsmuster Entwurfsmuster: Entwurfsmuster
MehrSoftwaretechnik. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen
Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Wintersemester 2010/11 Überblick I Entwurfsmuster Entwurfsmuster: Entwurfsmuster
MehrFassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing
Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster
Mehr29.01.2013. Vorlesung Programmieren. Software Design. Software Design. Entwurfsmuster
Vorlesung Programmieren Software Design Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Software Design Wie schreibe ich gute Software?
MehrEntwurfsmuster - Iterator & Composite
Entwurfsmuster - Iterator & Composite Alexander Rausch Seminar Entwurfsmuster WS08/09 19. November 2008 Gliederung 1 Einführung 2 Das Iterator Entwurfsmuster 3 Das Composite Entwurfsmuster 4 Quellen 5
MehrZweck: sequentieller Zugriff auf Elemente eines Aggregats
Iterator (Cursor) Zweck: sequentieller Zugriff auf Elemente eines Aggregats Anwendungsgebiete: Zugriff auf Aggregatinhalt innere Darstellung bleibt gekapselt mehrere Abarbeitungen des Aggregatinhalts einheitliche
MehrAuf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...
Auf einen Blick Auf einen Blick 1 Einleitung... 15 2 Die Basis der Objektorientierung... 29 3 Die Prinzipien des objektorientierten Entwurfs... 41 4 Die Struktur objektorientierter Software... 67 5 Vererbung
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 1 / 29 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen Einführung:
MehrPraxisbuch Objektorientierung
Bernhard Lahres, Gregor Rayman Praxisbuch Objektorientierung Von den Grundlagen zur Umsetzung Galileo Press 1.1 Was ist Objektorientierung? 11 1.2 Hallo liebe Zielgruppe 12 1.3 Was bietet dieses Buch (und
MehrEntwurfsmuster - Iterator
HTWG Konstanz 7. Mai 2009 Muster Klassifikation objektbasiertes Verhaltensmuster des Patterns Ermögliche den sequentiellen Zugriff auf die Elemente eines zusammengestzten Objekts, ohne seine zugrundeligende
MehrSE Besprechung. Übung 4 Architektur, Modulentwurf
SE Besprechung Übung 4 Architektur, Modulentwurf SE, 22.11.11 Mengia Zollinger 2.1 Architekturstile (6 Punkte) 2.1.A Ausgabe eines Monatsabos an Angestellte Lösung: Pipe-and-Filter Beispiel Lösung [Benz,
MehrZweck: sequentieller Zugriff auf Elemente eines Aggregats. mehrere Abarbeitungen des Aggregatinhalts
Iterator (Cursor) Zweck: sequentieller Zugriff auf Elemente eines Aggregats Anwendungsgebiete: Zugriff auf Aggregatinhalt innere Darstellung bleibt gekapselt mehrere Abarbeitungen des Aggregatinhalts einheitliche
MehrUniversität Bremen. Entwurfsmuster. Thomas Röfer. Wettbewerb Motivation Erzeugende Muster Strukturelle Muster Verhaltensmuster
Entwurfsmuster Thomas Röfer Wettbewerb Motivation Erzeugende Muster Strukturelle Muster Verhaltensmuster Mein Rückblick: RoboCup 2 Euer Rückblick: Textsuche Naive Suche abrakadabra Boyer-Moore abrakadabra
MehrStrategie. (Strategy. / Policy) Ein objektbasiertes Verhaltensmuster. Stephan Munkelt, Stefan Salzmann - 03IN
Strategie (Strategy / Policy) Ein objektbasiertes Verhaltensmuster Gliederung 1. Zweck 2. Motivation 3. Anwendbarkeit 4. Struktur 5. Teilnehmer 6. Interaktionen 7. Konsequenzen 8. Implementierung 9. Beispiele
MehrDeutsche Ausgabe. Die Kraft von C# voll ausschöpfen! C# 3.0. Entwurfsmuster. Judith Bishop. O Reilly. Deutsche Übersetzung von Thomas Demmig
Die Kraft von C# voll ausschöpfen! Deutsche Ausgabe C# 3.0 Entwurfsmuster O Reilly Judith Bishop Deutsche Übersetzung von Thomas Demmig First Inhalt Vorwort....................................................
MehrSoftware-Entwurfsmuster (weitere) A01 OOP. Software-Entwurfsmuster (weitere)
2014-01-08 Software-Entwurfsmuster (weitere) 1 185.A01 OOP Software-Entwurfsmuster (weitere) 2014-01-08 Software-Entwurfsmuster (weitere) 2 OOP Vererbung versus Delegation class A { public void x() { z();
MehrEntwurfsmuster Entkopplungs-, Varianten- und Zustandsmuster
Entwurfsmuster Entkopplungs-, Varianten- und Zustandsmuster Tutorium 17 Fabian Miltenberger 16.06.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD) KIT Universität des Landes Baden-Württemberg
MehrASPECT-ORIENTED DESIGN PATTERNS
ASPECT-ORIENTED DESIGN PATTERNS 1 Gliederung I. Entwurfsmuster Aufbau und Beschreibung II. Probleme objektorientierter Entwurfsmuster III. Entwicklung eines aspektorientierten Musters 2 Abschnitt I: Entwurfsmuster
MehrEntwurfsmuster. Rainer Schmidberger
Entwurfsmuster Rainer Schmidberger schmidrr@informatik.uni-stuttgart.de Copyright 2004, Rainer Schmidberger, Universität Stuttgart, Institut für Softwaretechnologie, Abt. Software Engineering Was sind
Mehr14 Design Patterns. 14.1 Einführung 14.2 Composite Pattern
14 Design Patterns 14.1 Einführung 14.2 Composite Pattern 14.1 Einführung 14.1.1 Motivation 14.1.2 Was ist ein Design Pattern? 14.1.3 Beschreibung eines Design Patterns 14.1.4 Katalog von Design Patterns
MehrObserver Chain of Responsibility Mediator
Observer Chain of Responsibility Mediator Seminar Software Design Pattern - Sommersemester 2009 Vertragender: Christian Kube Betreuer: Frank Schumacher SDP - SS09 - Kommunikation - Christian Kube 1 Paket
Mehr185.A Software-Entwurfsmuster 1 OOP. Software-Entwurfsmuster
2013-12-11 Software-Entwurfsmuster 1 185.A01 OOP Software-Entwurfsmuster 2013-12-11 Software-Entwurfsmuster 2 OOP Zweck von Entwurfsmustern Benennen wiederkehrender Probleme und Lösungen Austasch von Erfahrungen
MehrDie Klasse Vertiefung
Die Klasse Vertiefung Vom Objekt zur Klasse Basis des OO-Paradigmas ist (wen verwundert es): Das Objekt Objekte werden in der Lehre und im allgemeinen Programmier-Jargon selbstverständlich mit Klassen
MehrVarianten des Observer Pattern
Varianten des Observer Pattern Das Observer Pattern ist ein GoF Entwurfmuster um Änderungen an einem Objekt in abhängigen Ansichten zu aktualisieren. Das Pattern bietet eine Lösung zur Nachrichtenverteilung
MehrEntwurfsmuster Design Patterns by Erich Gamma et al.
Entwurfsmuster Design Patterns by Erich Gamma et al. Detlef Streitferdt Technische Universität Ilmenau TU-Ilmenau, Softwaresysteme / Prozessinformatik, KBSE Entwurfsmuster 1 Frühe Muster Christopher Alexander
MehrProgrammierung Nachklausurtutorium
Programmierung Nachklausurtutorium Laryssa Horn, Tim Engelhardt 20 März 2018 Klassen Wofür wir Klassen brauchen: Definieren ein Bauplan eines Objektes Bauplan enthält Attribute und Methoden Klasse Beispiel
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
MehrFactory Patterns und deren Auswirkung auf die Softwarearchitektur in der Praxis
Factory Patterns und deren Auswirkung auf die Softwarearchitektur in der Praxis Klaus Kusche, Juni 2013 Inhalt Was ist das? Warum braucht man das? Was bringt das? Wann hilft es noch? Realistisches Beispiel
MehrStrategy & Decorator Pattern
Strategy & Decorator Pattern Design Patterns Nutzen Wouldn t it be dreamy if only there were a way to build software so that when we need to change it, we could do so with the least possible impact on
MehrUniversität Bremen. Entwurfsmuster. Thomas Röfer. Motivation Erzeugende Muster Strukturelle Muster Verhaltensmuster
Entwurfsmuster Thomas Röfer Motivation Erzeugende Muster Strukturelle Muster Verhaltensmuster Rückblick UML Motivation Historie Spracheinheiten Strukturdiagramme Verhaltensdiagramme 2 Motivation Idee Einige
MehrFactory Method Pattern
Factory Method Pattern Bedeutung: Das Muster ist eines der sogenannten GoF-Entwurfsmuster (Gang offour). Es bezeichnet ein Muster, bei dem die Schnittstelle zur Erstellung eines Objektes eine (abstrakte)
MehrMVC-Architektur am Beispiel von OLAT
MVC-Architektur am Beispiel von OLAT Marvin Frommhold 12. Januar 2009 Gliederung Begriffe Entwurfsmuster Umsetzung in OLAT Aufbau des Brasato-Frameworks Quellen Begriffe I MVC bezeichnet ein Architekturmuster
MehrPaket Kommando. Command Command Processor Visitor
Paket Kommando Command Command Processor Visitor Command Command [kə'mænd] aka: Action ['ækʃən] aka: Transaction [træn'zækʃən] Verhaltensmuster Zweck: Anfragen/Methodenaufrufe als Objekte kapseln 01.07.09
MehrEin Entwurfsmuster der GoF. vorgestellt von. Sigrid Weil 16. Januar 2008
Ein Entwurfsmuster der GoF vorgestellt von Sigrid Weil 16. Januar 2008 Einleitung 2 Entwurfsmuster (Design Patterns) beschreiben Probleme, die wiederholt in unterschiedlichsten Zusammenhängen aufreten
MehrDesign Patterns I. Observer, Listener & MVC
Design Patterns I Observer, Listener & MVC Design Patterns I - Gliederung - Was sind Design Patterns? - Definition von Design Patterns - Entstehung - Nutzen & Verwendung - MVC - Model, View, Controller
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel Alina Stürck WS2016/17 11. Oktober 2016 Objektorientierte Programmierung OOP 1 Was ist das? 2 Wie geht das? 3 Warum
MehrObjektorientierte Programmierung
Bernhard Lahres, Gregor Rayman Objektorientierte Programmierung Das umfassende Handbuch Galileo Press 1.1 Was ist Objektorientierung? 13 1.2 Hallo liebe Zielgruppe 14 1.3 Was bietet dieses Buch (und was
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 08: Mehr zu Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Wiederholung Heutige Agenda Verwendung der ArrayList 2. Teil: Weitere Aspekte der OO
MehrProgrammiertechnik II WS 2017/18
Programmiertechnik II WS 2017/18 Fakultät Informatik Bachelor Angewandte Informatik Prof. Dr. Oliver Bittel bittel@htwg-konstanz.de www-home.htwg-konstanz.de/~bittel WS 17/18 Überblick OOP: Schnittstellen
MehrEntwurfsmuster. Martin Wirsing. in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06
Entwurfsmuster Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Wichtig: Klausuranmeldung 2. Teilklausur am 22.7.2006! Klausuranmeldung ist für Klausurteilnahme erforderlich!
Mehr