Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. M. Thaller AM1: Re-usable Content in 3D und Simulationssystemen.

Ähnliche Präsentationen


Präsentation zum Thema: "Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. M. Thaller AM1: Re-usable Content in 3D und Simulationssystemen."—  Präsentation transkript:

1 Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. M. Thaller AM1: Re-usable Content in 3D und Simulationssystemen SoSe 2011 Dennis Kiewning Design Patterns Creational Patterns

2 1.Was sind Creational Patterns? - Entwürfe, die Objekterzeugungsprozesse abstrahieren 1) Abstract Factory 2) Builder 3) Factory Method 4) Prototype 5) Singleton 2. Structural Patterns 3. Behavioral Patterns

3 Creational Patterns - Abstract Factory Was ist die Abstract Factory? - Schnittstelle zur Erzeugung einer Familie von Objekten Wann benutze ich die Abstract Factory? 1. Ein System soll unabhängig von der Art/Erzeugung seiner Produkte arbeiten 2. Ein System soll mit einer oder mehreren Produktfamilien konfiguriert sein 3. Eine Gruppe von Produkten soll erzeugt und gemeinsam genutzt werden 4. Eine Klassenbibliothek soll Schnittstellen von Produkten ohne deren Implementierung bereitstellen.

4 Creational Patterns - Abstract Factory AbstractFactory: definiert Schnittstelle zur Erzeugung abstrakter Produkte einer Produktfamilie ConcreteFactory: erzeugt konkrete Produkte einer Produktfamilie AbstractProduct: definiert eine Schnittstelle für eine Produktart Product: definiert ein konkretes Produkt einer Produktart Client: verwendet die Schnittstellen der abstrakten Fabrik und der abstrakten Produkte

5 Creational Patterns - Builder Was ist der Builder? - Eine Trennung der Konstruktion komplexer Objekte von deren Repräsentation Wann benutze ich einen Builder? 1. Zu einem Objekt sollen unterschiedliche Repräsentationen existieren 2. Die Konstruktion eines komplexen Objekts soll unabhängig von der Erzeugung der einzelner Bestandteile sein

6 Creational Patterns - Builder Builder: spezifiziert eine abstrakte Schnittstelle zur Erzeugung der Teile eines komplexen Objektes Concrete Builder: erzeugt die Teile des komplexen Objekts durch Implementierung der Schnittstelle Director: konstruiert ein komplexes Objekt unter Verwendung der Schnittstelle des Builders Product: repräsentiert das zu konstruierende komplexe Objekt.

7 Creational Patterns - Builder Builder -> Converter: spezifiziert eine abstrakte Schnittstelle zur Erzeugung der Teile eines komplexen Objektes ConcreteBuilder -> ASCIIConverter etc.: erzeugt die Teile des komplexen Objekts durch Implementierung der Schnittstelle Director -> Reader: konstruiert ein komplexes Objekt unter Verwendung der Schnittstelle des Builders

8 Creational Patterns - Factory Method Was macht die Factory Method? - Ein Objekt durch Aufruf einer Methode statt durch direkten Aufruf eines Konstruktors erzeugen Wann benutze ich die Factory Method? 1. wenn eine Klasse die von ihr zu erzeugenden Objekte nicht kennen soll 2. wenn Unterklassen bestimmen sollen welche Objekte erzeugt werden

9 Creational Patterns - Factory Method Creator: deklariert die FactoryMethod um ein Produkt zu erzeugen ConcreteCreator: überschreibt die Fabrikmethode, um die entsprechenden Produkte zu erzeugen ConcreteProduct : definiert eine Schnittstelle für eine Produktart

10 Creational Patterns - Factory Method BaseCreator: deklariert die FactoryMethod um ein Produkt zu erzeugen ConcreteCreatorB/A: überschreibt die Fabrikmethode, um die entsprechenden Produkte zu erzeugen BaseProduct : definiert eine Schnittstelle für eine Produktart

11 Creational Patterns - Prototype Was macht ein Prototype? - Neue Instanzen werden aufgrund prototypischer Instanzen erstellt. Dabei wird eine Vorlage kopiert und an neue Bedürfnisse angepasst. Wann benutze ich einen Prototype? 1. wenn sich die Objekte ähneln 2. die zu instanziierenden Klassen erst zur Laufzeit bekannt sind

12 Creational Patterns - Prototype Prototype: definiert eine Schnittstelle zur Kopie eines Objektes ConcretePrototype: kopiert sich selbst durch Implementation der Schnittstelle Client: erzeugt neue Objekte als Kopie bestehender Objekte und modifiziert sie.

13 Creational Patterns - Singleton Was macht ein Singleton? - Es verhindert, dass von einer Klasse mehr als ein Objekt erzeugt werden kann Wann benutze ich ein Singleton? 1. nur ein Objekt zu einer Klasse existieren darf und ein einfacher Zugriff auf dieses Objekt benötigt wird 2. das einzige Objekt durch Unterklassenbildung spezialisiert werden soll

14 Creational Patterns - Singleton Vielen Dank für die Aufmerksamkeit!


Herunterladen ppt "Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. M. Thaller AM1: Re-usable Content in 3D und Simulationssystemen."

Ähnliche Präsentationen


Google-Anzeigen