Ho una classe come la seguente:Qual è il modo OO di refactoring di queste due classi molto simili in PHP?
class DreamsImagesStore
{
public $table = 'dreams_images';
public function insertNewDreamImage($dream_id, $pid)
{
try {
$values = array($dream_id, $pid);
$sth = $this->dbh->prepare("INSERT INTO {$this->table}
(dream_id, pid)
VALUES (?, ?)");
if($sth->execute($values)) {
return true;
}
} catch(PDOException $e) {
$this->errorLogger($e);
}
}
...
}
ho intenzione di essere l'implementazione di una nuova classe chiamata InterestsImagesStore in cui le uniche differenze tra queste classi avranno il valore di $table
, $dream_id
sarà $interest_id
, e dream_id
in SQL
sarà interest_id
.
So che c'è un modo migliore per farlo e in futuro implementerò classi simili con differenze così piccole.
Qual è il miglior modo orientato agli oggetti per rifattorizzare il mio codice per evitare la duplicazione e aumentare la manutenibilità?
+1 per riconoscere quando chiedere aiuto * prima * creare un disordine sciatto che deve essere rifatto da qualcun altro – Zak
@ Zak Grazie. Provo a codificare come se la persona che veniva dopo di me fosse un maniaco omicida. E quando non posso per la vita di me capire la maggior parte di ciò che viene detto libri di modelli, ho pensato che un esempio significativo della vita reale mi avrebbe aiutato a capirlo. –