2016-04-27 3 views
0

Ich bin in einem Zustand eines Design-Dilemmas, in dem ich nicht entscheiden kann, ob ein Enum als Teil von Modellen betrachtet werden soll oder nicht. Die Definition, die ich für Modelle habe, ist they represent knowledge.Sollten Enums als Modelle gelten?

Mit dieser Logik sollte ein enum ein Modell sein. Außerdem habe ich in einigen Codebasen gesehen, dass Enums als Tabellen in der DB gespeichert sind, so dass das Wissen in der DB selbst gespeichert wird und später für Joins oder Code zugegriffen werden kann.

Was machst du normalerweise? Wenn Sie zum Beispiel eine Datei namens models.py haben, die Modelle enthält, werden Sie die Enums darin speichern? Oder erstellen Sie eine neue Datei enums.py?

+0

Ich lehne mich ein wenig auf eine andere Datei 'enums.py' hin, wenn ich nur enums in einer anderen Datei laden möchte, dann muss ich auch die Modelle laden, wenn ich die Enums einstelle in 'models.py' – chaudharyp

Antwort

0

ok unter der Annahme, dass Modelle können als Klassen zu verstehen:

Wenn ich die Namensräume entwerfen und Klassenstrukturen eines Projekts ich in der Regel sicher Aufzählungen in separaten Dateien wie „CarTypes.class“, „Color.class "und legen Sie es in die gleichen Namespaces wie die Klassen, die auf diese zugreifen. Aber das hängt von der Zugänglichkeit ab, die ich anderen Klassen gegenüber diesen Aufzählungen gewähren muss. Wenn nur eine Klasse eine Aufzählung oder Struktur verwendet, werde ich sie nicht in eine separate Datei schreiben und stattdessen die enum/struct innerhalb der Datei dieser bestimmten Klasse definieren. Aber wenn es über mehrere Klassen oder Namensräume zugänglich sein sollte, gehe ich definitiv zum ersten Ansatz. Hoffe das half ein bisschen. ^^