Ho notato che tutti i miei modelli sembrano molto simili. La maggior parte di essi tende a seguire uno schema in cui sono raccolte di metodi contenenti codice di registrazione attivo che sono solo lievi variazioni l'uno sull'altro. Ecco un esempio:I miei modelli sembrano tutti uguali
class Site extends CI_Model {
public function get_site_by_id($id)
{
// Active record code to get site by id
}
public function get_sites_by_user_id($user_id)
{
// ...
}
// ...
public function get_site_by_user_id_and_url_string($user_id, $url_string)
{
// ...
}
// Non active record methods and business logic
// ...
}
Questo approccio ha funzionato bene per me, ma mi chiedo se c'è una soluzione più elegante. Non mi sembra giusto che dovrei creare un nuovo metodo ogni volta che ho bisogno di cercare i dati in un modo nuovo. È questa pratica comune o mi manca un modo per refactoring questo?
Questo sarebbe principalmente un effetto collaterale dell'utilizzo di un gruppo di [record attivo] (http://martinfowler.com/eaaCatalog/activeRecord.html) come sostituto del livello di modalità implementato completo. Potresti trovare [questo] (http://stackoverflow.com/a/11943107/727208) rilevante per le opzioni di refactoring. –