Kodalama yaparken karşılaştığım uzunca bir “if” sınaması için farklı bir yaklaşımı sunmak istedim.
public class OperationManager
{
public IOperation GetOperation(string arg)
{
if (arg == "+" ||
arg == "-" ||
arg == "*" ||
arg == "/")
{
return new MathOperation();
}
return new UnknownOperation();
}
}
Yukarıdaki ifadenin alternatifi olarak aşağıdaki gibi bir çözüm üretebiliriz. Okunabilirliği arttıran bir yöntem gibi görünüyor. Kod satırları azaldığından göze daha hoş gelen bir yazım biçimi oldu.
public class OperationManager
{
private readonly string[] operations = { "+", "-", "*", "/" };
public IOperation GetOperation(string arg)
{
if (operations.Contains(arg))
{
return new MathOperation();
}
return new UnknownOperation();
}
}