Ich habe auf dieser Website viele Beiträge über die Verwendung von Konstanten gelesen.
Frage: Wann sollte ich Enums für Konstanten verwenden, im Gegensatz zu Klassen oder Schnittstellen.
Ich sehe 2 Schlüsselsituationen, die ich angehen möchte.
1. Globale Konstanten, die in einer Anwendung von mehreren Projekten verwendet werden.
Ejemplo:
- Gemeinsame Protokollierungszeichenfolgen
- Container-Referenzen wie eine Datenbank-Mapping-Referenz, die in WebSphere EAR's
2. Objektspezifische Konstanten
Ejemplo:
- Mitarbeitertarife für ein Mitarbeiterobjekt
Nach allem, was ich gelesen habe, denke ich, dass ich es verstanden habe, und ich suche nach einer Meinung dazu.
Für Situation 1: Design-Ansatz: Verwenden Sie eine endgültige Klasse und einen statischen Import.
Hier zu sehen: Wozu dienen die Schnittstellenkonstanten?
Für Situation 2: Design-Ansatz: Verwendung von Enums zur Darstellung dieser Konstanten als Objekt.
Weitere Punkte, die zu beachten sind:
- Wenn die konstante Zeichenkette zur Klasse gehört und Sie den Wert der Zeichenkette nur in der Klasse benötigen, die sie verwendet
- Verwenden Sie keine Schnittstelle für Situation 1. Wie in dem obigen Link als Constant Interface Anti-pattern erwähnt. .
Vielen Dank im Voraus für Ihre Gedanken und Meinungen.