KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have been reading a lot of posts on this site regarding the usage of constants. Question: When should I use Enums for constants, vs using classes or interfaces. I see 2 key situations I am looking to address. 1. Global Constants used in a applications by multiple projects. Example: Common logging strings Container references like a database mapping reference used in WebSphere EAR's 2. Object Specific Constants Example: Employee pay rates for an Employee Object From everything I have read this is what I think I have a grasp on and what I am looking for an opinion on. For situation 1: Design Approach: Use a final class and a static import. Seen here: What is the use of interface constants? For Situation 2: Design Approach: Apply the use of Enums to represent those constants as a object. Additional points to remember: If the constant string belongs to the class and you only need the string value keep in the class that uses it Don't use an Interface for situation 1. As mentioned in the link above as Constant Interface Anti-pattern. . Thanks in advance for thoughts and opinions.
Tags (comma-separated)
Save Edits
Cancel