è buon senso convertire prima i dati del database in oggetto?

5

Nel framework che sto usando, raggrupperò le cose in modelli, controller e viste (ho aggiunto servizi).

Quando si estraggono dati dal database, si tratta di dati puri in forma di array. Quindi non avranno metodi con loro.

Come ha chiesto il titolo, è opportuno convertire prima i dati del database in oggetto? Vale a dire, potrei avere cinque livelli nel mio progetto, modello, servizio, oggetto, controller, vista.

E sono molto perplesso su come ordinare questi livelli o su come specificare i loro lavori. E mi preoccupa anche il fatto che ci siano problemi multi-thread, problemi di I / O e simili.

Ho un sacco di domande e questa è solo una di quelle.

Usavo JavaSE per realizzare alcuni programmi e giochi di bot del gioco. OOP sembra molto carino e lo amo molto. Conservo tutto come oggetto nella RAM oa volte serializzato nel file txt.

Ma ora sto facendo un sito web per la costruzione di un lavoro in PHP. Quando ho incontrato MVC e database, le cose sono cambiate e ho creato molto meno oggetti e materiale con più array. A volte ho bisogno di fare qualcosa con i dati come isValid() , devo creare una funzione da qualche parte - dove non sono sicuro di mettere - e accetta un parametro come isValid($obj) .

    
posta bijiDango 21.12.2016 - 04:22
fonte

1 risposta

6

Onestamente, vorrei aggiungere un mappatore di riga o un ORM al progetto.

Anche per gli sviluppatori, leggere i dati in tale formato ( array ) è noioso e complicato. Dopo un paio d'ore, la leggibilità diventa sfocata e criptica. È estenuante.

Come sviluppatori, ( mi scusi in anticipo se non sei d'accordo ) è più facile per noi pensare nelle strutture dati come oggetti, attributi e proprietà.

Mentre lavori, troverai più facile l'implementazione di patterns o metodologie di progettazione usando oggetti piuttosto che matrici. Pensa a queste meravigliose parole: composizione, eredità, aggregazione, ...

Dal punto di vista del codice, lavorare con gli array rende il codice più difficile da mantenere. L'ordine dei campi nell'array viene imposto dall'istruzione SQL. Significa che, se aggiungi, rimuovi o modifica l'istruzione seleziona , devi verificare in che modo il codice accede all'array (su tutto il progetto).

Lavorando con gli array, perdi anche molte delle assistenze IDE, suggerimenti e aiuti.

Un'idea sotto l'OOP sta modellando cose come nella parola reale usando anche parole del mondo reale. A meno che tu non viva in Matrix, pensare in termini di array e indici è innaturale e per la maggior parte dei casi inutile.

Ma questo è il mio senso.

Tuttavia, devo concordare con @whatisaname

There's not such thing as common sense

Quindi, qualsiasi cosa renda più semplice il tuo lavoro

    
risposta data 21.12.2016 - 20:14
fonte

Leggi altre domande sui tag