【发布时间】:2012-01-29 01:41:47
【问题描述】:
如何重构以下包含许多 if 且每个块包含不同场景的代码。
if(condition1)
{
ConfigCondition1();
GetSetCondition1Results();
}
if(condition2)
{
ConfigCondition2();
GetSetCondition2Results();
}
if(condition3)
{
ConfigCondition3();
GetSetCondition3Results();
}
【问题讨论】:
-
为什么要重构它?我可能会使用 switch 语句
-
为什么要重构它,以何种方式重构?我现在的答案将是用例(但我想这不会有太大帮助)
-
多态性可能是答案,但我们不知道你在做什么以及你想要实现什么。这段代码属于什么上下文?
-
也许您可以使用 Dictionary
类型来存储条件,并根据条件获取已分配相关方法的操作委托并执行它。
标签: c# refactoring