Backbone.js - Geheugenbeheer

Inhoudsopgave
Nog een van de belangrijkste aspecten waarmee we rekening moeten houden wanneer we werken met Backbone.js Het is geheugenbeheer, omdat we totale vrijheid hebben bij het maken van onze applicatie, vaak moeten we oplossingen introduceren om de prestaties te verbeteren.
Tot op zekere hoogte is dit een voordeel, maar dit kan een probleem worden, dus we kunnen stoppen met ons te concentreren op de interessante aspecten van ontwikkeling, hiervoor kunnen we doorgaan met het onderzoeken van het gedrag dat we kunnen bereiken bij het opnemen van uitbreidingen van Backbone.js bijvoorbeeld MarionetteJS.
Probleem met weergaven
door het hebben van een herbruikbare weergave, we moeten ook nadenken over hoe het schoon te maken wanneer we het gebruiken om een ​​nieuw object te genereren en daarnaast nadenken over de gebeurtenis handlers, aangezien deze binnen ons zicht een klein probleem kunnen worden. Een casus die we kunnen analyseren is de volgende:

Eerst definiëren we een weergave en we vertellen het dat wanneer het wordt gegenereerd, het een waarschuwingsvenster start, zodat we weten wanneer de gebeurtenis plaatsvindt. Tot nu toe zien we niets vreemds, maar wat gebeurt er als we het object hergebruiken wanneer we het model instantiëren, laten we eens kijken:

Wat er in dit geval gebeurt, is dat wanneer we dezelfde variabelenaam opnieuw gebruiken, we hetzelfde waarschuwingsbericht opnieuw krijgen, dit gebeurt omdat bij het maken van het tweede gebruik van de variabele, de eerste buiten het bereik valt, dus de javascript vuilnisman verzamelt het om het geheugen te optimaliseren.
Mogelijke oplossingEen interessante oplossing die we zouden kunnen toepassen is om de view te sluiten, hiermee bereiken we dat de verwijzing naar het initiële object behouden blijft en dan hoeven we de methodes die bij de initialisatie horen niet te herhalen.
Dan zouden we iets dergelijks als dit overhouden:

We hebben dit probleem kunnen oplossen, maar er klopt nog iets niet, de handmatige afhandeling van dit probleem lijkt niet erg handig, want als we wat verder nadenken, wat gebeurt er als we een aanvraag moeten maken Veel uitgebreider en complex, zou dit type oplossing onze applicatie alleen maar ingewikkelder maken om te onderhouden en veel zwaarder.
Oplossing: MarionetteJS
Om dit soort gevallen op te lossen, kunnen we onze toevlucht nemen tot: MarionetteJS, die als extensie wordt geplaatst op Backbone.js en het helpt ons bij het verminderen van code en bij het oplossen van gevallen zoals hierboven weergegeven.
In het volgende voorbeeld zien we hoe: MarionetteJS U kunt het probleem eenvoudig oplossen door de gebeurtenis opnieuw te binden, heel eenvoudig:

Door dit te doen in de methode luisteren naar () van Backbone.js, MarionetteJS het is direct verantwoordelijk voor het afhandelen van de event-handlers, waarmee we voorkomen dat de views handmatig worden gesloten, wat een aanzienlijke hoeveelheid code bespaart als we het hebben over een complexe applicatie.
Aan het einde van deze tutorial zien we hoe Backbone.js Het heeft een grote flexibiliteit waardoor we oplossingen kunnen bouwen die ons helpen bij de ontwikkeling van onze applicatie.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave