【发布时间】:2011-01-02 17:19:02
【问题描述】:
我有一个基于枚举的方法,首先要明确的是,我们有这种情况:
public void MyMetohd(Somestatus status)
{
if(status == Somestatus.Enum1)
{
DoA();
DoB();
DoC();
DoD();
DoE();
}
if(status == Somestatus.Enum2)
{
DoA();
DoB();
DoC();
DoD();
}
if(status == Somestatus.Enum3)
{
DoA();
DoB();
DoC();
}
if(status == Somestatus.Enum4)
{
DoA();
DoB();
}
if(status == Somestatus.Enum5)
{
DoA();
}
}
您将如何优化这种代码(它不是我的)?
【问题讨论】:
-
检查是否不能重构代码以使用Strategy Pattern。 (也检查this)。您可以将其与工厂方法或工厂类结合使用。
-
你说的是普通的普通枚举,还是一个标志?
-
优化是什么意思?您的性能界限究竟是什么?目前是什么限制了它?
-
不知道为什么没有人提到达夫的设备:en.wikipedia.org/wiki/Duff%27s_device
标签: c# optimization simplify