【发布时间】:2014-06-28 15:37:59
【问题描述】:
假设我们有一个枚举(为了演示的简单示例)
public enum EnumTest{
valueA,
valueB
}
然后假设我们有一个消费者调用的方法,它将根据枚举的当前值执行某些操作。这样做有什么好处?难道是
有一个方法接收 enum ,然后根据这个 enum 的值执行操作。即
public void DoSomething(EnumTest emumVal){
//common code here
switch(enumVal){
case EnumTest.valueA: doSomething();
break;
case EnumTest.valueB: doSomethingElse()
break;
}
}
这似乎是我征求意见的人们最喜欢的方法,但我知道一种方法应该做一件事,而且只做一件事。让它基于一个枚举做一些稍微不同的事情让我觉得如果添加更多的枚举,这个方法可能会非常大而且笨拙
另一种选择似乎是为每个 enums.ie 提供明确的方法
public void DoSomethingForValueA(){
}
public void DoSomethingForValueB(){
}
但是一些程序员同行说这太过分了,浪费时间。
我想知道做这种事情的正确方法是什么?
【问题讨论】: