Fammi capire la relazione.Originariamente inviato da Santino83_02
1) a mio avviso l'uso dell'interfaccia è inutile
2) è inutile di conseguenza la classe base astratta. Anche perchè costringi le tue classi singleton ad estendere una classe, quindi ti precludi il fatto che non possano più estenderne altre, da cui tanti problemi
Se ho una classe che eredita da una astratta che problema c'è ? al massimo dovrà mettere i metodi della classe astratta pur senza implementarli. Ma non viene certo preclusa la possibilità di ereditare.
Ma se devi scrivere un codice come questo non fai prima ad abbandonare la programmazione OOP per tornare a quella procedurale ?Originariamente inviato da Santino83_02
3) se è singleton è singleton, $_instanceOfClass non deve essere trattata come un array quindi scrivere _instanceOfClass[ .. ] è sbagliato, self::$_instanceOfClass[ get_called_class() ] anche è sbagliato
da cui l'utilizzoCodice PHP:
class ClasseFiglia{
private static $_instance=null;
private function __construct(){ } //col costruttore privato non può essere istanziata fuori dalla classe
public static function getInstance(){
if(!self::$_instance)
self::$_instance = new self();
return self::$_instance;
}
public function sayHello(){
echo "hello world";
}
}
Codice PHP:
$c = ClasseFiglia::getInstance();
$c->sayHello();
Poniamo che ho 10 classi singleton. Cosa devo replicare il pattern 10 volte ? E se per caso devo fare una modifica cosa devo ripeterla 10 volte con il rischio di dimenticarmene una ?
Sul serio non capisco. Se la logica della programmazione OOP è quella di avere del codice modulare e scalabile non riesco a capire il nesso nel dover codificare rigidamente delle istruzioni dentro a un metodo
replicandolo tot volte.

Rispondi quotando