Un modo migliore per organizzare i metodi di query in Android?

1

Nella mia app per Android ho:

  1. Una classe SQLiteHelper che estende SQLIteOpenHelper e si occupa di cose come la creazione di tabelle e gli aggiornamenti.

  2. Una classe SQLiteDatasource che esegue operazioni CRUD sull'oggetto SQLiteHelper .

Tuttavia la mia classe SQLiteDatasource sta diventando molto gonfia perché ha così tanti metodi. Un sacco di modi per applicare CRUD a vari tipi di oggetti e modi per visualizzare tali oggetti, ecc.

C'è un modo per organizzare / refactare questo meglio? Oppure la maggior parte delle persone li organizza semplicemente in un ordine logico e poi spiega le separazioni con le righe di commento? per esempio. "Metodi di apertura / chiusura" , "Metodi di query ObjectA" , ecc.

    
posta Aruka J 29.03.2016 - 20:16
fonte

1 risposta

1

Usa pattern di repository. Crea una classe di repository per ogni classe di entità nella tua app e metti i metodi per gestire lì quel tipo di entità. In questo modo hai una separazione netta e puoi usare l'astrazione. Di solito faccio qualcosa del genere:

public abstract class BaseRepository<T> {
    public T getById(long id){
       // query on SQLite
    }
     // etc. more common methods here
}

E repository per entità:

public class UsersRepository extends BaseRepository<UserEntity> {
     public long countAllAdministrativeUsers() {
          // query here
     }
     // othet user-specific database actions
}
    
risposta data 03.04.2016 - 14:37
fonte

Leggi altre domande sui tag