私はサーブレットを持っています。サーブレットは、20種類以上の異なるリクエスト(サーブレット内のコマンドと呼ばれます)を受け入れることができます。長いサーブレットのリファクタリング条件付き
if (command.equals("Command1"))
doSomething();
else if (command.equals("Command2))
doSomethingElse();
else if (command.equals("Command3))
doThisOtherThing();
......
このコードを書くには、より良い方法がありますか?非常に大きな条件が作成されました。私はJUnitテストに関する本を読んでいますが、これは条件式より多型を使用することを示唆していますが、この例ではこれを行う方法が分かりません。誰か良いアイデアはありますか?
あなたがサーブレットを使用している、あなたが探していることはFrontControllerであることを考えると
エリオット
コマンドパターンがあります。あなたのケースでは役に立つかもしれません。パターンがあなたの場合には必要ではないかもしれないメソッド呼び出しをカプセル化するので、有用かもしれないことを暗示しました。 –