| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 99
| Frage zum Factory-Pattern
Hi, in meinem GUI-Framework verfügen alle Komponenten über ein Attribut style vom Datentyp IStyle. IStyle ist ein Interface, dass ledeglich die Methode draw() vorschreibt. Damit ist das Zeichnen der Komponenten schön "wegdelegiert". Dann hab ich noch das Decorator-Pattern angewendet um einen Style um schraffierte Flächen oder Highlights zu erweitern. Derzeit wende ich das z.B. so an: var style : IDrawable = new SimpleStyle(_borderColor, _fillColor, _alpha); style = new StrokeDecorator(style, _strokeColor); style = new HighlightDecorator(style, _highlightColor); Komfortabel wäre jetzt natürlich eine Klasse, die mir nach meinen Anforderungen einen dekorierten Style zurückgibt. Factory-Pattern denk ich mir, weiss aber nicht welches und wie ich es in diesem Fall am besten nutze :/. Vielleicht hat jemand von euch schon Erfahrung damit und kann mir nen Denkanstoss geben. |
| | |
| | #2 (permalink) |
| helpQLODhelp Registriert seit: Feb 2002 Ort: Köln
Beiträge: 8.505
|
Ich würde einfach eine Klasse bauen, die standardmäßig einen SimpleStyle zurückliefert und bei der du mit Settern für strokeColor und highlightColor die Benutzung von Decorators triggerst. mf.r
__________________ Ralf Bokelberg™ - Flex & Flash Consulting |
| | |
| | #3 (permalink) |
| Supermassive Registriert seit: Aug 2004 Ort: Frankfurt, Bornheim
Beiträge: 861
|
xervus, das factory pattern impliziert einen solche verwendung, um ein definiertes objekt zurück zu liefern: PHP-Code: ich würde in diesem fall die createAnObject()-methode um einen array parameter erweitern, mit hilfe derer du die zu verwendenden decorator beim aufruf mitgeben kannst - ('objectCanonial':String, [Decorator1, Decorator2, ...]:Array). die verwendung wäre dann wie folgt: PHP-Code:
__________________ Personal » amenity*blogging » elysian.de » Flexpertise - Enterprise Flex Collaboration Networks » Xing » ColdFusion Community Everything Cairngorm » cairngormdocs.org |
| | |
| | #4 (permalink) |
| helpQLODhelp Registriert seit: Feb 2002 Ort: Köln
Beiträge: 8.505
|
Um mein Posting oben etwas klarer zu machen, hier mal eine mögliche Anwendung der (gedachten) StyleFactory. ActionScript:
Im letzten Fall erzeugt die Factory halt einen Style mit einem StrokeDecorator. @elysian: Mit Settern vermeidest du die kombinatorische Explosion. Die Decorator-Klassen bei der Erstellung mitzugeben, läuft der Idee des FactoryPatterns irgendwie zuwieder. Du willst die Implementations-Klassen ja gerade nicht kennen müssen. Nur die Factory und das Interface sollen öffentlich bekannt sein. mfg. r
__________________ Ralf Bokelberg™ - Flex & Flash Consulting Geändert von bokel (16-09-2006 um 11:38 Uhr) |
| | |
| | #5 (permalink) |
| Supermassive Registriert seit: Aug 2004 Ort: Frankfurt, Bornheim
Beiträge: 861
|
@bokel: ...stimmt allerdings. da hast du recht. ![]() cheers, thomas
__________________ Personal » amenity*blogging » elysian.de » Flexpertise - Enterprise Flex Collaboration Networks » Xing » ColdFusion Community Everything Cairngorm » cairngormdocs.org |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |