编写以下案例的最佳实践是什么:
我们有一个控制器,它根据用户采取的路径,采取不同的行动。例如:
如果用户选择路径 /path1/hello 它会打招呼。如果用户选择 /path1/bye?name="Philipp" 它将调用 sayGoodBye() 等。
我在控制器内部编写了一个简单的 switch 语句,但是 IMO 效率不高。考虑到路径通常是字符串,实现这一点的最佳方法是什么。
private void takeAction()
{
switch (path[1])
{
case "hello":
//sayHello();
break;
case "bye":
//sayBye();
break;
case "case3":
//Blah();
break;
...
}
}
更新:在我的上下文中,路径是动态生成的,这意味着那里没有特定的页面。如果路径是/Amir/,那么将动态生成Amir。因此,正如 Mark Leighton Fisher 所解释的,将它们放入哈希中是相当困难的。