Backbone.js - Gestione della memoria

Sommario
Un altro degli aspetti chiave che dobbiamo tenere in considerazione quando lavoriamo con Backbone.js È la gestione della memoria, perché abbiamo totale libertà durante la creazione della nostra applicazione, molte volte dobbiamo introdurre soluzioni per migliorarne le prestazioni.
In una certa misura questo è un vantaggio, tuttavia questo può diventare un problema, quindi possiamo smettere di concentrarci sugli aspetti interessanti dello sviluppo, per questo possiamo continuare ad esplorare il comportamento che possiamo ottenere quando includiamo estensioni di Backbone.js Per esempio MarionetteJS.
Problema con le visualizzazioni
Avendo un vista riutilizzabile, dobbiamo anche pensare a come pulirlo quando lo si usa per generare un nuovo oggetto e inoltre pensare al gestori di eventi, poiché questi possono diventare un piccolo problema alla nostra vista. Un caso che possiamo analizzare è il seguente:

Per prima cosa definiamo una vista e le diciamo che quando viene generata lancia una finestra di avviso in modo che sappiamo quando si verifica l'evento. Fino a questo punto non vediamo nulla di strano ma cosa succede se riutilizziamo l'oggetto quando istanziamo il modello, vediamo:

Quello che succede in questo caso è che quando usiamo di nuovo lo stesso nome di variabile otterremo di nuovo lo stesso messaggio di avviso, questo accade perché quando si crea il secondo utilizzo della variabile, il primo è fuori dall'ambito, quindi il netturbino javascript lo raccoglie per ottimizzare la memoria.
Possibile soluzioneUna soluzione interessante che potremmo applicare è chiudere la vista, con ciò otteniamo che venga mantenuto il riferimento all'oggetto iniziale e quindi non dobbiamo ripetere i metodi associati alla sua inizializzazione.
Quindi rimarremmo con qualcosa di simile a questo:

Siamo stati in grado di risolvere questo problema, tuttavia qualcosa non va ancora bene, la gestione manuale di questo problema non è qualcosa che sembra molto utile, poiché se pensiamo un po' oltre, cosa succede se dobbiamo rendere un'applicazione molto più ampia e complesso, questo tipo di soluzione renderebbe la nostra applicazione solo più complicata da mantenere e molto più pesante.
Soluzione: MarionetteJS
Per risolvere questo tipo di casi possiamo ricorrere a MarionetteJS, che come estensione è posto su Backbone.js e ci aiuta con la riduzione del codice e con la risoluzione di casi come quello mostrato sopra.
Nell'esempio seguente vediamo come MarionetteJS Puoi risolvere il problema, semplicemente vincolando nuovamente l'evento, semplicemente:

Facendo questo nel metodo ascoltare () da Backbone.js, MarionetteJS si occupa direttamente della gestione degli event handler, con i quali evitiamo di chiudere manualmente le viste, salvando una notevole quantità di codice quando si tratta di un'applicazione complessa.
Alla fine di questo tutorial vediamo come Backbone.js Ha una grande flessibilità che ci permette di costruire soluzioni che ci aiutano nello sviluppo della nostra applicazione.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo
wave wave wave wave wave