Как определить постоянные значения -Передовой опыт

У меня есть два способа определения констант. Первый содержит группу статических конечных переменных DataType в классе, а другой - с помощью Enum.

Вот первый тип:

public class TipTipProperties {
    public static final String MAX_WIDTH_AUTO = "auto";
    public static final String POSITION_RIGHT = "right";    
}

И использование этих переменных будет через статический вызов, в качестве примера:TipTipProperties.MAX_WIDTH_AUTO

И второй тип:

public enum TipTipProperties {

    MAX_WIDTH_AUTO(MaxWidth.AUTO),  
    POSITION_RIGHT(Position.RIGHT);

    private MaxWidth maxWidth;
    private Position position;  

    private TipTipProperties(MaxWidth maxWidth) {
        this.maxWidth = maxWidth;
    }

    private TipTipProperties(Position position) {       
        this.position = position;
    }

    public MaxWidth getMaxWidth() {
        return maxWidth;
    }   

    public Position getPosition() {
        return position;
    }

    public enum MaxWidth {
        AUTO("auto");

        private String width;

        private MaxWidth(String width) {
            this.width = width;
        }

        public String getWidth() {
            return width;
        }
    }

    public enum Position {
        RIGHT("right"),         

        private String position;

        private Position(String position) {
            this.position = position;
        }

        public String getPosition() {
            return position;
        }       
    }
}

В качестве примера использования:TipTipProperties.POSITION_RIGHT.getPosition().getPosition().

Мой вопрос::

  • Какой из них лучше ООП и почему?
  • Существуют ли какие-либо альтернативы или лучший подход?

Заранее спасибо.

7
задан Tapas Bose 6 May 2012 в 15:10
поделиться