java - 让类(class)知道它的类型是不是太好了?

标签 java oop

我有以下界面:

public enum AggregatorType{
    DATA_BASE,
    GLOBAL_CACHE,
    //etc
}

public interface DataAggregator<T>{

     public AggregatorType getType();

     public Collection<T> getData();

}

我的问题是关于将不同的类型放在同一个枚举中。对我来说,至少闻起来不是一件好事(因为两个不同的类型放在同一个地方)。但我看不出它会导致什么潜在问题。你不能帮我理解吗?

最佳答案

通常使用 enum 类型不是显式定义类类型的好习惯,因为在代码的其他部分,您需要有一个控制结构(if-else/switch-case ) 在这种类型上以分离聚合的方式。

如果我是你,我会在这个接口(interface)中放置一个聚合方法,我会让Polymorphism机制为我施展魔法。 DataBaseAggregatorCacheAggregator 可以实现这个接口(interface)来定义这些数据聚合的不同行为。

关于java - 让类(class)知道它的类型是不是太好了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31647847/

相关文章:

java - 垃圾收集器监听器

java - Minecraft 1.9 模组 block 渲染错误

JavaScript:如何修复未正确分配属性值的实例

java - 多态性和 n 层应用程序

c++ - 是否有嵌套类的用例?

java - 创建一种方法,根据用户输入的数量增加椭圆形的高度和宽度

java - 保护 Java 套接字

java - 在 Java 中通过 Socket.IO 进行 POST 和 PUT

oop - 铁路票价计算可以使用哪种设计模式?

javascripts 对象编程技巧