Entwurfsmuster und ihre Gemeinsamkeiten

Maik.Neumann

Aktives Mitglied
Hallo zusammen !

Ich beschäftige mich seit einiger Zeit mit Patterns in Java und stelle im wieder fest, dass viele von Ihnen schwer auseinander zu halten sind. Zum Beispiel ähneln sich in meinen Augen das Command Pattern und das Strategy Pattern sehr und ich weiß nicht, durch was sie genau auseinander zu halten sind. Analog dazu das Flyweight Pattern und das Singelton Pattern, auch hier sehen diese täuschend ähnlich.

Wie sieht ihr das?

Danke und Gruß
 

Joose

Top Contributor
Wo siehst du die Ähnlichkeiten? Dann können wir dir auch sicher besser erklären worin der Unterschied besteht und was du falsch betrachtest :)
 

Phash

Top Contributor
Patterns sind nur Muster...

vielleicht unterscheiden sich einige nur wenig - es ist aber auch egal.


flyweight und singleton unterscheiden sich allerdings massiv

beim Fliegengewicht willst du eine komplexe Klasse auf ein sehr leichtgewichtiges Objekt zusammenschrumpfen (Beispielsweise nur noch die ID und evtl ein String anstatt einer sehr dicken Klasse - das macht man, wenn Speicher eng wird und man sehr sehr viele Objekte hat)

Beim Singleton hat man genau EINE Objekt-Instanz. Oft verwendet man dies für UtilityKlassen oder HelperKlassen, die etwas koordinieren oder eben nur einmal gebraucht werden (Beispiel: Spring-Beans, Ablösung von static)
 

Maik.Neumann

Aktives Mitglied
eim Fliegengewicht willst du eine komplexe Klasse auf ein sehr leichtgewichtiges Objekt zusammenschrumpfen (Beispielsweise nur noch die ID und evtl ein String anstatt einer sehr dicken Klasse - das macht man, wenn Speicher eng wird und man sehr sehr viele Objekte hat)

Ich dachte, dass Flyweight Pattern nutzt man, wenn man statt viele Objekte nur ganz wenige Objekte erzeugen möchte und diese immer nur wieder mit einem anderen Objektzustand versorgt.

Was hat das mit der Reduzierung auf komplexe Klassen zu tun?
 

Phash

Top Contributor
ja, man kann das auch machen, indem man dann weniger Objekte hat, weil man die Gemeinsamkeiten zusammennimmt.

Allerdings ist das schon was anderes als ein Singleton
 

Joose

Top Contributor
Bei einem Singelton ist das Ziel MAXIMAL ein Objekt einer Klasse erstellen zu dürfen.
Beim Flyweight Pattern ist das Ziel den Speicherverbrauch zu reduzieren, aber deswegen wird nicht nur ein Objekt im Speicher gehalten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Collections Entwurfsmuster Liste mit Verweisart Java Basics - Anfänger-Themen 4
Z Factory-Entwurfsmuster Java Basics - Anfänger-Themen 1
T Entwurfsmuster Strategie Java Basics - Anfänger-Themen 10
W Entwurfsmuster Strategie Java Basics - Anfänger-Themen 2
D Entwurfsmuster - Frage und Definition Java Basics - Anfänger-Themen 9
B Was für Aufgaben haben die einzelne Entwurfsmuster? Java Basics - Anfänger-Themen 9
P Binärer Baum mit Composite-Entwurfsmuster Java Basics - Anfänger-Themen 2
D Ampel Programmieren die jede 10 sekunden ihre farbe wechselt Java Basics - Anfänger-Themen 6
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
F Kindklassen sollen Ihre Methoden selbst implementieren Java Basics - Anfänger-Themen 5
T Methoden und ihre Eigenschaften Java Basics - Anfänger-Themen 5
S Datentypen und ihre Größe Java Basics - Anfänger-Themen 21
T OOP Abstrakte Klassen und ihre Kinder: wie läuft das? Java Basics - Anfänger-Themen 3
J Wrapperklasse und ihre Umwandlung Java Basics - Anfänger-Themen 2
U Interfaces und ihre Daseinsberechtigung Java Basics - Anfänger-Themen 4
B 2D Punkte erstellen und ihre Länge berechnen/Problem this. Java Basics - Anfänger-Themen 3
D Objekten ihre Eigenschaften zuweisen Java Basics - Anfänger-Themen 3
E Stack vs Queue - Gemeinsamkeiten / Unterschiede Java Basics - Anfänger-Themen 7
C String mit ASCII vergleichen + gefundene Gemeinsamkeiten ausgeben Java Basics - Anfänger-Themen 21
S Gemeinsamkeiten von main() und run()? Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben