Ich programmiere eine Anwendung zum Erstellen von Umfragen mit Symfony3 und Doctrine. Ich würde gerne verstehen, welche die beste Möglichkeit ist, die Beziehung zwischen Umfrage, Items und Antworten zu modellieren. Eine Umfrage besteht aus mehreren Elementen, die eine besondere Antworttypologie aufweisen. Zum Beispiel könnte ich die folgenden Typologien hat:So modellieren Sie die Beziehung zwischen Umfrage, Artikel und verschiedenen Antworttypen
- AnswerChoice
- Antworttext
- AnswerRange
- etc ..
Welches ist der beste Weg, um dieses Szenario mit Lehre zu modellieren?
dachte ich 2 mögliche Lösungen:
Ich erstelle ein Objekt einzelne Antwort jede erdenkliche Funktion der Antworten einschließlich. Das Item-Objekt sollte eine Eins-zu-Eins-Beziehung mit diesen Objekten haben.
- Pros: Ich habe nur eine Antwort Objekt
- Nachteile: Verwirrende und gegen die einzige Verantwortung Prinzip
ich eine generische Item-Objekt eine bestimmte Antwort Objekt enthält (AnswerChoice, .. Antworttext .) in einer vordefinierten Klasseneigenschaft. Das Survey-Objekt sollte eine Eins-zu-viele-Beziehung mit Item haben, die wiederum eine Eins-zu-Eins-Beziehung zu einem bestimmten Antwortobjekt hat.
- Pros: Nice Lösung, aber ...
- Nachteile: Ich brauche eine Eigenschaft für jede Art von Antwort!
Könnten Sie mir bitte helfen Wahl die beste Lösung? Ich habe das Gefühl, dass ich dieses Problem nicht gut behandle. Danke