✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Un modo orientato agli oggetti di lavorare con modelli e applicazioni Web

5

Quando si parla del concetto di Modelli nella programmazione orientata agli oggetti, ci si riferisce solitamente a una classe che è una rappresentazione dei dati archiviati nel database.

Cioè, quando le informazioni sono archiviate in righe e colonne, popolaamo una classe, i suoi attributi e così via con tali informazioni in modo da poterle passare all’applicazione, manipolarle secondo necessità e quindi eventualmente serializzare il i dati tornano al database.

Ma in un’applicazione Web, è lecito presumere che il modello potrebbe dover essere utilizzato dal front-end. Cioè, immagina una richiesta front-end che effettua una chiamata al server, richiede un modello (o una raccolta di modelli) e quindi esegue il rendering sul front-end.

Sebbene questo particolare post non sia orientato al codice, penso comunque che valga la pena pensare al processo di traduzione di un modello dal server e quindi renderlo sul front-end dell’applicazione web.

Utilizzo di modelli e applicazioni Web

Immagina, per un momento, che la tua applicazione abbia un modello Employee. Questo modello può includere una varietà di attributi, ma è lecito ritenere che tutti i dipendenti abbiano:

  • un nome,
  • un cognome,
  • un ID dipendente,
  • e un indirizzo email

Il modo in cui queste informazioni vengono archiviate nel database non è del tutto irrilevante, ma non è così importante per questa discussione.

Ad esempio, forse esiste un singolo record che contiene tutte queste informazioni archiviate in una stringa JSON. D’altra parte, forse esiste una tabella dipendente in cui ogni riga rappresenta un dipendente e quindi ogni colonna rappresenta un attributo.

I dettagli su come le informazioni vengono tradotte dal database (o, più in generale, dall’archivio dati) alla classe non sono così importanti.

Di solito, tuttavia, vedremo qualcosa del genere:

  1. C’è una classe che richiede le informazioni,
  2. Le informazioni vengono passate a una Simple Factory ,
  3. La Fabbrica Semplice istanzia il Modello ,
  4. Il Modello viene quindi passato alla classe terza che lo ha richiesto.

Da un punto di vista pittorico, puoi vederlo in questo modo:

Da questo momento, il Modello viene trasmesso per tutta l’applicazione. Ma è qui che entra in gioco il punto iniziale di questo post: come si passa un’istanza del modello (o una raccolta di modelli) al front-end dell’applicazione?

Il flusso dell’applicazione Web

Per motivi di semplicità, assumiamo che utilizzeremo un singolo modello e quindi, se dovessi rivisitare questo concetto dal punto di vista del codice, possiamo approfondire un po’ di più.

Tuttavia, il flusso generale di un’applicazione Web sarà simile a questo:

  1. Un utente attiva un’azione che richiede un’istanza del modello,
  2. Il front-end effettua una chiamata a un endpoint sul server,
  3. Il server legge le richieste e ne verifica la validità,
  4. Quindi invia una rappresentazione del modello al front-end.

Altri sviluppatori potrebbero non essere d’accordo (che è sempre il benvenuto e vale la pena discutere, secondo me), ma ho scoperto che la serializzazione dell’istanza del modello in JSON rende molto più facile lavorare sul front-end a causa della funzionalità JavaScript in quanto si riferisce a, ehm, JSON.

Un modo orientato agli oggetti di lavorare con modelli e applicazioni Web

In altre parole:

  1. prendiamo il modello,
  2. serializzalo in JSON,
  3. mandalo attraverso il filo,
  4. quindi deserializzalo sul front-end in una rappresentazione JavaScript di se stesso.

Questo ci permette di manipolarlo come faremmo sul lato server; tuttavia, abbiamo a che fare con un oggetto JavaScript. Inoltre, ci consente anche di apportare determinate modifiche e di inviare le informazioni al server in uno stato diverso da quello in cui sono state inviate.

In definitiva, questo ci consente di salvare i dati nel database.

Una prospettiva di alto livello

E questo è il ciclo di vita di alto livello del passaggio di informazioni da un database a un modello al front-end e viceversa.

Spesso, tuttavia, è utile vederlo nel codice, quindi forse in un post futuro fornirò una serie di articoli che possono spiegare come farlo.

Nel frattempo, tuttavia, non dovrebbe essere difficile tradurre le tue implementazioni nel flusso di lavoro Model-Serialization-Request-Send come descritto in questo post.

Fonte di registrazione: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More