更多对象类型或更复杂的对象最佳实践

时间:2014-09-21 23:25:05

标签: java android object

对于更大的项目,我想跟踪一些传感器值,如速度,高度等。它们应在不同的位置存放,使用和操作。

我决定制作一个抽象类ValueContainer,每个值类型Speed都会扩展。它将具有它的值和时间戳。但是在我的统计数据(以及其他地方)中,我希望每种类型都有最小值和最大值以及平均值。

现在问题是:我是否创建了一个对象:

Speed extends ValueContainer{
    long timestamp;
    Double value;
    EnumType type; // contains either avg, min, max or cur
    int elementCounter; // for avg calculation

    ValueContainer(Double value, EnumType type){
        this.....
    }

    void addValue(Double value){
        switch (type){
            case ....
        }
    }
}

或者我制作的对象只包含他们需要的东西

CurrentSpeed extends ValueContainer{
    long timestamp;
    Double value;

    ValueContainer(Double value){
        this.....
    }

    void setValue(Double value){

    }

AvgSpeed extends ValueContainer{
    Double value;
    int elementCounter; // for avg calculation

    ValueContainer(Double value){
        this.....
    }

    void addValue(Double value){
        ....
    }
}

我在那里有更多的对象类型,但是开销更少,对他们的工作更少混淆?目前它只有3种类型,但我估计会在15到40之间。我已经有了一个枚举类型,并且每个类都使用它定义自己,所以我可以将ValueContainer作为摘要传递给最小化接口showSomething(ValueContainer a){ switch (a.getValueType){ .... }}上的方法数量

0 个答案:

没有答案