コマンドライン引数に基づいて if...else 分岐をたくさん行うプログラムを扱っています。これは C# ですが、Java や C++ などにも適用できると確信しています。概要は次のとおりです。
if (args.Length == 0)
{
//do something
}
if (args.Length > 0 && args.Length < 2)
{
Console.WriteLine("Only one argument specified. Need two arguments");
return 0;
}
else if (args.Length > 0 && args.Length >= 2)
{
//Process file - Argument 1
if(args[0].Trim() == PROCESS_OPTION_ONE
|| args[0].Trim() == PROCESS_OPTION_TWO)
{
//Process file - Argument 2
if(args[1].Trim() == PROCESS_CUSTOMER
|| args[1].Trim() == PROCESS_ADMIN
|| args[1].Trim() == PROCESS_MEMBER
|| args[1].Trim() == PROCESS_GUEST
|| args[1].Trim() == PROCESS_USER
)
{
ご覧のとおり、それは一種の混乱です。クリーンアップに最も適した設計パターンが 1 つか 2 つあるでしょうか。おそらくコマンドパターン?アドバイスとヒントをありがとう。