Android: considerando uno strumento ORM [duplicato]

0

Sto sviluppando un'app per Android in cui devo aggiungere funzionalità di chat. Inoltre, devo salvare la cronologia della chat. Completerò questo compito usando SQlite. Ma non sono sicuro se dovrei prendere in considerazione l'utilizzo di un ORM come GreenDAO o ORMLite o dovrei usare il modo tradizionale di mantenere i dati in SQLite.

In realtà, non sono chiaro quando dovrei usare un ORM e come ottenerne i benefici.

    
posta Nitish 06.01.2014 - 11:48
fonte

1 risposta

4

Esistono due motivi fondamentali per l'utilizzo degli strumenti ORM. Sapere quale si applica a te semplifica la decisione.

Molte persone usano la mappatura automatica perché non vogliono affatto occuparsi dell'accesso al database. Forse non lo capiscono, o non vogliono pensarci, o sono certi che non richiederanno mai alcuna funzionalità che vada oltre il minimo comune denominatore di persistenza relazionale che ORM può darti. In tal caso, si tratta di un utile compromesso: meno interventi di sviluppo sulle problematiche periferiche equivalgono a più tempo da dedicare allo sviluppo di questioni fondamentali. Il prezzo, naturalmente, è la perdita di controllo e l'espressività per le strategie avanzate di persistenza - di solito, si spera, proprio le cose avanzate che non avresti mai usato comunque.

Altri vogliono una strong astrazione dall'archiviazione dei dati effettiva perché anticipano che potrebbero cambiare il loro database o devono supportare diversi motori fin dall'inizio. In tal caso, gli strumenti ti aiutano assicurandoti di non mescolare affatto la logica di basso livello e di livello aziendale . In altre parole, tutte le cose che potrebbero causare ulteriore lavoro se in seguito hai cambiato database sono automaticamente proibite. Questo è un metodo utile per far rispettare la disciplina dello sviluppo per cose che non dovresti fare comunque (ma potrebbe accadere per caso). Tuttavia, i vantaggi sono reali solo se in realtà si estrapola e si sostituisce il provider di persistenza, altrimenti contribuiscono alle normali buone pratiche di stratificazione / non ripetizione di sé, ecc., Ma non di più. Se sei su una piattaforma mobile e non hai scelta nel quale database alimenterà la tua app, allora questa motivazione non ha molto senso.

    
risposta data 06.01.2014 - 11:59
fonte

Leggi altre domande sui tag