2010-11-30 6 views
0

Ich benutze PHP und das Kohana-Framework, aber das sollte periphere zu dieser Frage sein.Was ist das richtige Design-Muster, um die Erstellung von vielen Objekten zu verwalten, die Abhängigkeiten haben

Ich möchte ein Objekt instanziieren, das ein paar verwandte untergeordnete Objekte hat, die wiederum einige optionale untergeordnete Objekte haben, die erstellt werden.

Ich bin neu in OOP und versuche, die Erstellung und Verwaltung dieses Prozesses zu modellieren. Ich möchte, dass der Prozess wiederherstellbar ist, wenn ein Benutzer es nicht in einer Sitzung beendet, also erwarte ich, dass ich das Objekt serialisieren und aus der Datenbank ziehen kann.

Meine allgemeine Richtung so weit:

Von einem Admin-Panel einen Link auswählen, die

www.example.com/create?new_process=true liest, die Anfrage erhalten initialisiert das Creation_Management Objekt.

Anrufe von der Steuerung an die Creation_Management Objekt:

$form_name = $creation_management_instance->which_form_to_render(); 

$this->view->set_file($file_name); 

Der Zyklus setzt sich dann mit Formen und Objekte in den kommenden abgeschlossen wird, bis der Vorgang abgeschlossen ist.

Gibt es eine gute Möglichkeit, diese Situation zu strukturieren?

Lassen Sie mich wissen, wenn ich überall klarer sein kann.

+0

Ich denke, das ist eine sehr unklare Frage, und das ist ein Hinweis auf mein Problem, ich bin nicht klar, was mein Problem wirklich ist. – brennanag

Antwort

0

Nun, ich weiß nicht über das Design-Muster, aber es scheint, dass Sie ein Formular erstellen und dann abhängig von bestimmten Bedingungen die Kinder des Formulars erstellen.

Idealerweise möchten Sie die bedingte Erstellung der untergeordneten Elemente im übergeordneten Formular kapseln. Übergeben Sie also Ihre bedingten Parameter an das Hauptformular und entscheiden Sie, welche Kinder sie konstruieren müssen und so weiter.

Sie werden dann nur ein Objekt (das Hauptformular) serialisiert werden müssen, und die Kinder werden :)

Hoffnung folgen habe ich rechten Anwendungsfall.

+0

Das ist, was ich im Grunde mache, entschied ich, nicht einmal ein Management-Objekt zu verwenden, es war Overkill. Ich lade Ajax-Formulare basierend auf der Validierung des gesendeten Formulars und dessen Gültigkeit. – brennanag