小编use*_*770的帖子

是否有任何设计模式可以避免嵌套开关盒?

我见过类似的线程,但是,不知道如何将解决方案完全应用到我的案例中.我的问题是我有一组用例可以说'A','B','C',当输入传递时需要执行某些命令(2个用例是输入)是列出的任何2个用例.例如:

switch(input1)
{
case A:
break;
case B:
break;
case C:
break;
}
Run Code Online (Sandbox Code Playgroud)

在每种情况下,我将不得不检查输入2,因此,最终的代码可能看起来像

switch(input1)
{
case A:
{
switch(input2):
case B:
break;
case c:
break;
}
case B:
{
switch(input2):
case A:
break;
case c:
break;
}
....

}
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用(pair,command)的地图并删除这个开关案例,但有没有其他更好的解决方案或设计问题来解决这个问题?

c++ design-patterns switch-statement

3
推荐指数
1
解决办法
6631
查看次数

标签 统计

c++ ×1

design-patterns ×1

switch-statement ×1