Ho visto in giro per Internet e Github, implementazioni per il Repository di pattern di progettazione che conosce i nomi delle tabelle e delle colonne del database. Pensavo, se volevo lavorare con il database come plugin, che potevo scollegare e collegare un altro rispettando Open / Closed per il resto del mio codice, il mio repository non dovrebbe conoscere i nomi delle colonne del database che sto usando . Quindi, come implementare questo modello in modo che possa trasformare il risultato dal database in un'Entità del mio dominio, senza conoscere i nomi delle tabelle e delle colonne del database?
Poiché la mia lingua principale è PHP, ho visto che in Doctrine \ ORM puoi facilmente passare diversi file di configurazione yamls o xmls, mappando i nomi delle colonne ai nomi delle proprietà sull'entità, ma ... Non posso essere ostaggio di un implementazione della libreria, se voglio implementare raw PDO, o qualsiasi altra libreria per i miei repository che non rende questa idratazione immediata, la mia implementazione dovrebbe fare, quindi come?
Aggiornamento
Aggiornamento2
Perfavore,daiun'occhiataa: