2010-02-23 13 views
7

Dies ist seine Definition:Wie man Fliegengewicht Muster in PHP implementieren?

Verwenden Austausch große Zahl feinkörniger Objekte effizient zu unterstützen.

Aber ich kann nicht herausfinden, was es genau bedeutet.

Können Sie mit einer kleinen Demo arbeiten?

+2

Ich googelte 'Php Fliegengewicht Muster' und überprüfte die ersten 3 Ergebnisse. Jeder lieferte ein umfassendes Tutorial und umfangreiche Beispiele. –

Antwort

11

Das Flyweight-Muster ist nützlich, wenn Sie eine große Anzahl von Instanzen eines bestimmten Typs benötigen. Sie isolieren die Daten, die für alle diese Instanzen identisch sind (den Eigenschaftsstatus), in ein gemeinsames Objekt. Sie behalten nur die Daten bei, die pro Instanz in den Instanzen selbst variieren (extrinsischer Status). Der Vorteil ist natürlich weniger Speicherverbrauch.

Es ist ein übliches Muster in der Spielindustrie, wo das übliche Beispiel Soldaten auf dem Schlachtfeld ist. Alle Soldaten haben die gleiche grafische Darstellung und die gleichen Waffen, aber ihre Position und Gesundheit sind unterschiedlich. Der extrinsische Zustand wäre dann nur ihre Gesundheit und x/y/z-Koordinaten auf dem Schlachtfeld, während alles andere im Fliegengewicht wäre.

PHP-Implementierungen für dieses Muster sind im Internet leicht zu finden. Zum Beispiel

+0

naja, wie immer Gordon, tolles Beispiel +1 –

Verwandte Themen