次のケースを作成するためのベストプラクティスは何でしょうか。
ユーザーがたどるパスに基づいて、さまざまなアクションを実行するコントローラーがあります。例えば:
ユーザーがパス/path1/ helloを選択すると、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が説明したように、それらをハッシュに入れるのはかなり困難です。