Essendo un programmatore PHP negli ultimi due anni, sto appena iniziando a entrare in stili di programmazione avanzati e usando schemi polimorfici. Stavo guardando un video sul polimorfismo l'altro giorno, e il tizio che ha tenuto la conferenza ha detto che, se possibile, dovresti sbarazzarti delle dichiarazioni di if
nel tuo codice, e che un interruttore è quasi sempre un segno che il polimorfismo è necessario . A questo punto sono stato molto ispirato e sono partito subito per provare questi nuovi concetti, così ho deciso di creare un piccolo modulo di memorizzazione nella cache usando un metodo di fabbrica. Ovviamente la prima cosa che devo fare è creare un interruttore per decidere quale codifica del file scegliere. DANG!
class Main {
public static function methodA($parameter='')
{
switch ($parameter)
{
case 'a':
$object = new \name\space\object1();
break;
case 'b':
$object = new \name\space\object2();
break;
case 'c':
$object = new \name\space\object3();
break;
default:
$object = new \name\space\object1();
}
return (sekretInterface $object);
}
}
A questo punto non sono veramente sicuro di cosa fare. Per quanto posso dire, devo usare uno schema diverso e avere metodi separati per ogni istanza di oggetto, o accettare che sia necessario un interruttore per "passare" tra di loro. Cosa ne pensate?