In meiner Factory-Methode verwende ich die Switch-Anweisung, um konkrete Objekte zu erstellen. Dies führt zu einer sehr hohen zyklomatischen Komplexität. Hier ist ein Beispielcode:Die zyklomatische Komplexität kann in einer Factory-Methode ohne Verwendung der Reflektion nicht reduziert werden
private static UnitDescriptor createUnitDescriptor(string code)
{
switch (code)
{
case UnitCode.DEG_C:
return new UnitDescriptorDegC();
case UnitCode.DEG_F:
return new UnitDescriptorDegF();
:
:
default:
throw new SystemException(string.format("unknown code: {o}", code);
}
}
Wie kann ich dies umgestalten, um zyklomatische Komplexität zu reduzieren? Wenn ich zum Erstellen von Objekten Objekte oder etwas anderes zum Erstellen von Objekten verwende, ist das besser als die obige Methode?
Im Standardfall versuchen, einen Wert zurückgeben insted eine Ausnahme zu werfen und versuchen agin – Sumeshk