Ich würde nicht die in Ihrer Datenbank speichern, sondern sie in Ihrem OO-Modell abgebildet sind, die die Datenbanktabelle darstellt, wie es in jedem guten ORM getan wird (siehe django, kohana-orm, active etc.)
EDIT:
Nun .. das kommt darauf an, was Sie hart codierten beziehen. Hardcodiert bezieht sich normalerweise auf jedes Mal, wenn Sie es im Code haben, wenn Sie das Feld in einem Formular oder einer Ausgabe verwenden. In der ORM-Klasse wird es nur einmal definiert und von da an wiederverwendet. Sie können auch die Methode _get verwenden, wenn Sie verschiedene Sprachen verwenden möchten.
Sie müssen das Etikett irgendwo definieren. Ich finde es verursacht zu viel Overhead, wenn Sie in die Datenbank setzen, da Sie die Informationen aus der Datenbank abrufen müssen. Abhängig davon, welche Art von GUI Sie verwenden, vielleicht viele Male.
Am Ende haben Sie zwei Dinge zu balancieren, Leistung und Lesbarkeit/Erweiterbarkeit des Codes. Wenn Sie es in eine Klasse einkapseln, wird es aus beiden Perspektiven bereinigt, außer in dem Fall, dass das Label von den Benutzern geändert wird, dann handelt es sich um dynamische Daten, die in der Datenbank enthalten sein sollten.
Wie auch immer, oft ist dies eine Frage der besonderen Situation und des persönlichen Geschmacks. Daher gibt es hier keine richtige oder falsche Lösung.
Wäre das nicht eine Menge zusätzlicher Abfragen? – Glenn
Je nach den Anwendungsfällen können Sie einfach die Etiketten in einer Klasse/Struktur mit einer einzigen Abfrage beim Start laden und damit fertig sein. Normalerweise ändern sich Ihre Etiketten nicht so oft, oder? – Mostlyharmless