这个问题听起来很愚蠢,但是我不知道如何解决这个问题:

我有一些枚举的类为正在开发的应用程序建模一些常量,例如:

public enum Daily{GROCERIES, SUPPLIES,....}

public enum Monthly{NEWSPAPER, MAGAZINES,....}

public enum BiMonthly{....}


假设我有一个对象,该对象具有一个根据前面的任何枚举建模的字段:

public class SomeObject{
    ...

    private Daily/Monthly/ByMonthly category;

    ...
}


我该如何建模?我不知道是否将所有枚举都放在一个类中并创建我的对象类型为Something<E extends Enum>的字段,或者是否创建一个没有我的所有枚举实现的方法的接口并创建我对象类型为EnumInterface的字段。

谢谢

最佳答案

我认为您应该以不同的方式构造枚举/类。就像是:

public enum Recurrence {
    DAILY,
    MONTHLY,
    BIMONTHLY
}

public enum Distributions {
    GROCERIES(Recurrence.DAILY),
    SUPPLIES(Recurrence.DAILY),
    NEWSPAPER(Recurrence.MONTHLY),
    MAGAZINES(Recurrence.BIMONTHLY);

    private Recurrence recurrence;

    private Distributions(Recurrence recurrence) {
        this.recurrence = recurrence;
    }

    public Recurrence getRecurrence() {
        return this.recurrence;
    }
}

public class SomeObject{
    ...

    private Distributions distribution;

    ...
}

08-05 04:59