Das Strukturmuster Kompositum von C. Günther, T. Hammerschmidt und D. Kuhn.

Slides:



Advertisements
Ähnliche Präsentationen
Imperative Programmierung
Advertisements

Strategie (Strategy / Policy) Ein objektbasiertes Verhaltensmuster Stephan Munkelt, Stefan Salzmann - 03IN.
Programmierung 1 - Repetitorium
Objektorientierte Programmierung
Harald Köbler Software Design Patterns Prototype.
Kritische Betrachtung
Zeitliche Verwaltung XML-basierter Metadaten in digitalen Bibliotheken M. Kalb, G. SpechtUniversität Ulm, Abteilung DBIS.
Mobile Lernende in verteilten Umgebungen (dSpace) Oliver Brand Learning Lab Lower Saxony (L3S) Hannover.
Kapitel 4 Datenstrukturen
Gruppe 4 Softwarepraktikum 2001 Lego Mindstorms Autonome Roboter
Design Patterns- Entwurfsmuster
Kombinatorische Topologie in der 3d Geomodellierung
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Java: Objektorientierte Programmierung
Sortierverfahren Richard Göbel.
Motivation Richard Göbel.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Fliegengewicht Ein objektbasiertes Strukturmuster.
Sebastian Grahn Sebastian Kühn
3.1.7 Korrektheit von Objekten Voraussetzung für die Diskussion der Korrektheit von nichtsequentiell benutzten abstrakten Objekten: Modellbasierte Spezifikation:
Übung Datenbanksysteme UML
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
Prüfkriterien für objektorientierte Systeme
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Folie 1 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel LABORPRAKTIKUM- SOMMERSEMESTER 2005 Umsetzung von Pattern Muster: DECORATOR.
Entwurfsmuster – Iterator
Command Pattern Karola Schäuble,
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
DVG Klassen und Objekte
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
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.
Konzeption und Realisierung von DSS
Übersicht Motivation Konzeption Umsetzung/ Implementierung
Objektorientierte Programmierung
2. Die rekursive Datenstruktur Baum 2
Holonische Multiagentensimulation
Interpreter Seminar Entwurfsmuster Tobias Webelsiep
Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. M. Thaller AM1: Re-usable Content in 3D und Simulationssystemen.
Generalisierung/Spezialisierung Subtypisierung/Vererbung
Komponentenschnittstellen (1)
1.2 Trennung von Struktur und Inhalt
1.5 Das Entwurfsmuster Kompositum
Objektorientierung.
SWT-Übung WS 10/ Zusammenfassung.
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Software Design Patterns
RelationentheorieObjektorientierte Datenbanken  AIFB SS C++-ODL (1/6) Erweiterung des deklarativen Teils einer C++-Klasse Datentypen d_String,
OO Analyse und Entwurf für Anwender XII. Entwurfsmuster Dr. Michael Löwe.
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Einführung in die Programmierung mit Java
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Entwurfsmuster (Design Pattern)
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:
Design Pattern1 Motivation Entwurfsmuster Entwurf wiederverwendbarer objektorientierter Software schwer gute Entwürfe entstehen durch Wiederverwen- dung.
Abstrakte Klassen und das Interface-Konzept
Diskrete Mathe Diskrete Mathematik I Listen Vorlesung 4.
Strategy Pattern Teachlet Autor: Sven Wende Replay durch Stephan Schwake Konzepte objektorientierter Programmiersprachen, SS 2006.
© 2008 TravelTainment The Amadeus Leisure Group Thread-Programmierung im Qt-Framework Von: Simon Lubberich Erstbetreuer:
1 Lutz Ullrich SOA – serviceorientierte Architektur SOA – Was ist das?
1 Grundsätze objektorientierter Programmierung. Dr. Wolfram Amme, Grundsätze objektorientierter Programmierung, Informatik II, FSU Jena, SS Objektorientierte.
Der Abschluss einer Schlange
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
1. Die rekursive Datenstruktur Liste 1.5 Das Entwurfsmuster Kompositum
1. Die rekursive Datenstruktur Liste 1
Implementieren von Klassen
 Präsentation transkript:

Das Strukturmuster Kompositum von C. Günther, T. Hammerschmidt und D. Kuhn

Zweck Ratloser Montage-Roboter, der nicht weiß wie viele Objekte er Montieren muss

Zweck (II) Entwurfsproblem: *Klient muss zwischen Blättern und Gruppierungen unterscheiden Lösung: *Einheitliche Behandlung von Objekten und Objektgruppen *Zusammenfassung von Objekten in Baumstrukturen

Motivation Beispielproblem: Fahrzeugmontage Fahrzeug besteht aus... primitiven Teilen: Schrauben, Muttern, Ventile,... Baugruppen: Motor, Bodenplatte, Getriebe,... Grundidee: behandle primitive Teile und Baugruppen einheitlich

Realisierung Abstrakte Klasse Komponente - repräsentiert sowohl primitive Teile als auch Baugruppen - deklariert (implementiert evtl.) gemeinsame Operationen

Anwendbarkeit Anwendbar wenn... - einheitliche Behandlung von primitiven und zusammengesetzten Objekten erforderlich - Teil-Ganzes-Hierarchien repräsentiert werden sollen

Struktur

Teilnehmer (I) Komponente: - deklariert Schnittstelle für die Objekte - implementiert evtl. Standardverhalten für einige Methoden - kann Schnittstelle für Kindobjektverwaltung bereitstellen - im Beispiel: Bauteil

Teilnehmer (II) Blatt: - primitives Objekt ohne Kindobjekte - implementiert konkrete Methoden - im Beispiel: Einzelteil

Teilnehmer (III) Kompositum: - Behälter (Container) für Kindobjekte - implementiert Methoden zur Kinderverwaltung - im Beispiel: Baugruppe

Teilnehmer (IV) Klient: - manipuliert die Objekte über die Komponentenschnittstelle - im Beispiel: Steuerprogramm für Roboter

Interaktionen Klient: - kommuniziert mit Objekten der Kompositionsstruktur über Schnittstelle der Komponente - ist Empfänger Blatt, so direkte Abhandlung - ist Empfänger Komposition, so Weiterleitung der Nachricht an Kindobjekte (evtl. Ausführung zusätzlicher Operationen vor oder nach der Weiterleitung)

Konsequenzen (I) Vorteile: - primitive Objekte können zu komplexeren zusammengesetzt werden, rekursive Wiederholung möglich - kein Unterschied zwischen primitiven und komplexen Objekten -> vereinfacht Klient - einfach erweiterbar

Konsequenzen (II) Nachteile: - kann Entwurf zu allgemein werden lassen - keine Kontrolle über abgeleiteten Klassen bzgl. Einschränkung

Implementierung (I) - explizite Referenzen auf Elternobjekt - gemeinsame Nutzung von Komponenten (Speicherplatz) - Maximierung der Komponentenschnittstelle - Deklaration von Verwaltungsoperationen für Kindobjekte - Ort des Behälters für enthaltene Komponenten

Implementierung (II) - Ordnung der Kindobjekte - Verbesserung des Laufverhaltens durch Zwischenspeichern - Löschen der Komponenten - Datenstrukturen zum Speichern von Komponenten

Verwandte Muster - Zuständigkeitskette - Dekoriermuster - Fliegengewichtmuster - Iteratormuster - Besuchermuster

Noch Fragen?