1 / 14

Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung

Design Patterns Creational Patterns. 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. Creational Patterns.

sunila
Download Presentation

Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Design Patterns Creational Patterns 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

  2. Creational Patterns • 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. BehavioralPatterns

  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 ConcreteBuilder: 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 FactoryMethodum 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 FactoryMethodum 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!

More Related