Strategy Pattern Richard Göbel.

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Der k-d-Baum Richard Göbel.
Constraint Satisfaction Problems
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Objektorientierte Programmierung mit Java unter BlueJ
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
FH-Hof Einbindung von JavaScript Anweisungen
Threads Richard Göbel.
Spielbäume Richard Göbel.
Java: Reversi Spielbrett
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Objektorientierte Programmierung
FH-Hof Geometrie Richard Göbel. FH-Hof Aufbau des virtuellen Universums.
Java2D Richard Göbel.
Sortierverfahren Richard Göbel.
Listen Richard Göbel.
Parser - Verfahren: Rekursiver Abstieg
Sortierverfahren Richard Göbel.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Indirekte Adressierung
FH-Hof Automatisches Erzeugen von Geometrie Richard Göbel.
Motivation Richard Göbel.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Grundlagen der Sprache
Bildverarbeitung Richard Göbel.
Einführung Richard Göbel.
FH-Hof Java 2D - Kontext für Zeichenoperationen Richard Göbel.
Motivation Richard Göbel.
Effizienz: Indexstrukturen
Bilder und Rasterdaten
FH-Hof Analyse des R-Baums Richard Göbel. FH-Hof Ansatz Annahme: Die Bearbeitungszeit für eine Anfrage wird dominiert von der Ladezeit der Knoten von.
Formale Sprachen – Mächtigkeit von Maschinenmodellen
FH-Hof Georeferenzieren Richard Göbel. FH-Hof Geographische Positionen in Bilddaten Bilddaten werden von Kameras (Sensoren): auf Flugzeugen oder auf Satelliten.
Java: Referenzen und Zeichenketten
Baumstrukturen Richard Göbel.
FH-Hof Java Packages Richard Göbel. FH-Hof Das Modulkonzept für Java Packages dienen zur Strukturierung größerer Java- Programme Ein Package kann: eigene.
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
Übung Datenbanksysteme UML
Informationsflüsse im Anlagenbereich
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Abstrakte Klassen, Interface
Klassen und Schnittstellen Klasse: Definiert Zustandsraum ihrer Instanzen vollständig (Implementierung der Struktur, soweit Voraussetzung für die Methoden-
FH-Hof Analyse des R-Baums - Teil 1 Richard Göbel.
FH-Hof Konfiguration eines Universums Richard Göbel.
Rekursion Richard Göbel.
Template Pattern Richard Göbel.
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
FH-Hof Algorithmen und Datenstrukturen - Einführung Richard Göbel.
FH-Hof Java2D - Grundlagen Richard Göbel. FH-Hof Java2D - Funktionen Java2D unterstützt: das Zeichnen von Grafiken die Darstellung von Texten die Darstellung.
FH-Hof Adapter & Facade Pattern Richard Göbel. FH-Hof Motivation Gegeben ist eine Klasse mit vorhandenen Methoden Gefordert ist eine Klasse, die ein bestimmtes.
FH-Hof Singleton Pattern Richard Göbel. FH-Hof Motivation Bestimmte Klassen sollen nur ein Objekt haben Nur ein Fabrikobjekt für eine Fabrikklasse Zentraler.
Entwurfs- und Implementationsdiagramme
Generalisierung/Spezialisierung Subtypisierung/Vererbung
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
EPROG Tutorium #6 Philipp Effenberger
22. Oktober 2007Martin Feldmann, 1 Bachelor-Thesis Entwicklung einer automatisierten Dokumentation von LabVIEW Quellcode für das Rahmenwerk.
Objektorientierung.
Software Design Patterns
Sichtbarkeit einschränken
Abstrakte Klassen und das Interface-Konzept
Objektorientierte Programmierung §Klassen §Objekte §Attribute §Eigenschaften §Methoden §Datenkapselung §Ereignisse §Vererbung §Entwicklungszeit §Laufzeit.
Dr. Wolfram Amme, Virtuelle Vererbung, Informatik II, FSU Jena, SS Auflösung von Konflikten bei Mehrfachvererbung Umbenennung mehrdeutiger Methoden.
1 Grundsätze objektorientierter Programmierung. Dr. Wolfram Amme, Grundsätze objektorientierter Programmierung, Informatik II, FSU Jena, SS Objektorientierte.
Objektorientierte Programmierung und Vererbung
 Präsentation transkript:

Strategy Pattern Richard Göbel

Ansatz: Strategy Pattern / Policy Pattern Motivation Ausgangspunkt Ähnliche Algorithmen (Methoden) a, b, c, . . . werden in verschiedenen Klassen verwendet Grundsätzlich ließen sich diese Algorithmen vererben (ggf. über Mehrfachvererbung) Wie lassen sich diese Algorithmen auch zur Laufzeit austauschen? Ansatz: Strategy Pattern / Policy Pattern

Konkretes Beispiel - Beschreibung Inventar Allgemeine Attribute Bezeichnung, Kaufpreis, Kaufdatum Unterklassen wie Computer, Kopierer, PKW, etc. Berücksichtige zusätzlich unterschiedliche Abschreibungsformen Lineare Abschreibung (konstanter Betrag) Degressive Abschreibung (prozentualer Betrag) andere Formen . . . Funktion für Zeitwertberechnung

Konkretes Beispiel - Diagramm Inventarobjekt Lineare Abschreibung Kopierer Computer PKW Schrank zeitwert() zeitwert() zeitwert() zeitwert() Degressive Abschreibung Lineare Abschreibung Degressive Abschreibung

Vererbung der Methoden Optionen Vererbung der Methoden Mehrfachvererbung? Interfaces? Änderung der Abschreibungsmethode zur Laufzeit?

Abstrakter Lösungsansatz Interface Abstrakte Klasse M f() A M m pf() X Y f() f() B C D E pf() pf() pf() pf()

Konkreter Lösungsansatz Welche Klassen brauchen wir für das Inventarbeispiel? Wie werden diese Klassen ausgefüllt? Wie sieht die Situation in anderen Programmiersprachen aus?