# Prototyp Beispiel



## The_S (15. Dez 2008)

Hi-Ho,

ich versuche gerade unserem Azubi (ohne konkretem Anwendungsfall) das Prototyp-Pattern zu erklären. Mir fällt spontan allerdings kein *simples, konkretes und leicht verständliches Beispiel* für eine Implementierung in Java ein ...

Mag mir jemand mit einer Idee auf die Sprünge helfen!? Schön wäre es, wenn das Beispiel aus keinem zu spezifischen Bereich kommen würde.

Danke!


----------



## FArt (15. Dez 2008)

Es soll ein Label angezeigt werden. Änlich wie bei Google soll das kontextabhängig geschehen, also aufgrund eines gewissen Umstandes Label1, sonst Label2 usw.
Jedes Label zeigt ein Bild, welches "teuer" ist zu laden ...


----------



## The_S (16. Dez 2008)

Schon mal nicht schlecht, danke  . Noch weitere Vorschläge?


----------



## maki (16. Dez 2008)

Mal aus neugierde:

Hat jemand schon mal dieses Pattern in Java sinnvoll eingesetzt?

Mir fällt nicht eine einzige Gelegenheit ein, in der ich das schon mal benutzt habe, liegt das an mir?


----------



## Gelöschtes Mitglied 5909 (16. Dez 2008)

nunja ich habe es schon öfters verwendet, auch wenn ichs nicht ausprogrammiert habe. Bei Spring bietet sich das ganzean, wenn man Beans vorkonfiguriert und dann bei manchen Instanzen bestimmte Properties z.b. aus ner Config ändert. Kann man zum Beispiel verwenden wenn jeder Kunde etwas anderes bekommen möchte


----------



## FArt (17. Dez 2008)

Ich habe ein Framework mitentwickelt, das (vor Spring-Zeiten) dem Entwicklern die Enterpriseentwicklung vereinfacht, d.h. er konnte "plain Java" (mit ein paar einschränkenden Regeln) entwickeln und das ganz konnte dann als Standalonelösung, Enterpriselösung oder geclusterte Enterpriselösung verwendet werden.
Clientseitige (generische) Stubs wurden da z.B. mit diesem Pattern realisiert.


----------



## byte (17. Dez 2008)

raiL hat gesagt.:
			
		

> Bei Spring bietet sich das ganzean, wenn man Beans vorkonfiguriert und dann bei manchen Instanzen bestimmte Properties z.b. aus ner Config ändert. Kann man zum Beispiel verwenden wenn jeder Kunde etwas anderes bekommen möchte


Meinst Du _scope="prototype"_?

PS: Hab das Pattern noch nie implementiert.


----------



## tuxedo (17. Dez 2008)

Fand ich als erklärung nicht schlecht: http://www.scribd.com/doc/830629/java-designpatterns Ab Seite 34

- Alex


----------



## The_S (17. Dez 2008)

@Tuxedo

Die Seite kannte ich noch gar nicht ... mal registrieren ... danke!


----------



## Gelöschtes Mitglied 5909 (17. Dez 2008)

jein

scope prototype ermöglicht das ganze erst, da bei nem singleton alle beans betroffen wären wenn ich nachträglich änderungen vornehme. Das Prototype Pattern beeinhaltet ja auch eine individuelle konfiguration wenn ich das ganze richtig verstanden habe und bei mir kam die erweiterte konfiguration dann aus ner Jaxb config, wo die spezifischen sachen konfiguriert wurden. Die Grundkonfig war aber schon fest in der beans.xml enthalten sodass nur die änderungen da drinnen standen (was verhältnismäßig wenig war) und die gleiche bean teilweise mit einer anderen konfig lief


----------



## byte (17. Dez 2008)

Ich habe scope prototype bisher erst einmal testweise benutzt. Liegt da denn wirklich das Prototype Pattern dahinter? Ich dachte bisher, dass Spring die Bean jedes mal per new erzeugt.


----------



## Gelöschtes Mitglied 5909 (17. Dez 2008)

Das kann natürlich auch sein, aber ich denke man kann es trotdem als Prototype Pattern bezeichnen da nicht alles neu konfiguriert wird.
Aber an sich hast du warscheinlich recht


----------



## maki (17. Dez 2008)

byto hat gesagt.:
			
		

> Ich habe scope prototype bisher erst einmal testweise benutzt. Liegt da denn wirklich das Prototype Pattern dahinter? Ich dachte bisher, dass Spring die Bean jedes mal per new erzeugt.


Bestimmt liegt da kein Prototyp Pattern hinter, genausowenig wie beim singleton Scope ein Singleton pattern hinter liegt.

Anscheinend gibt es doch ein paar spezielle Anwendungsfälle, allerdings muss der new operator wirklich viel kosten dass ein clone (was auch einen new bewirken sollte) sich lohnt.


----------

