Ajaxer

In Javascript we trust

JavaScript als funktionale Programmiersprache – Teil 11 – Funktionscaching

| Keine Kommentare

Angenommen, eine Funktion führt eine komplexe Berechnung aus. Diese Berechnung ist nur abhängig von den übergebenen Parametern und nicht vom Kontext, in dem diese Funktion ausgeführt wird. Dann lässt sich der Rückgabewert der Funktion cachen. Dieses Entwurfsmuster wird »Memorization« genannt.

Memorization wird hier wieder an der Fakultätsfunktion dargestellt, da diese sich besonders für das Caching anbietet.


function cachedFactorial(n) {
  if (n < = 1) {
    return 1;
  } else if (!cachedFactorial.cache[n]) {
    var result = n * cachedFactorial(n-1);
    cachedFactorial.cache[n] = result; 
  }
  return cachedFactorial.cache[n]; 
}
// leeren Cache erstellen
cachedFactorial.cache = {};
// 5 Rekursionen und befüllen des Cache
console.log(cachedFactorial(5)); //120
// nur eine Rekursion da 2..5 bereits im Cache sind
console.log(cachedFactorial(6)); // 720

Cover-klein in JavaScript als funktionale Programmiersprache - Teil 11 - Funktionscaching - AjaxerDies ist eine autorisierte Leseprobe aus dem Buch Oliver Ochs – JavaScript für Enterprise-Entwickler: Professionell programmieren im Browser und auf dem Server – dpunkt.verlag GmbH 2012.

Autor: Oliver Ochs

Oliver Ochs ist bei der Management- und IT-Unternehmensberatung Holisticon AG in Hamburg tätig. Er beschäftigte sich in den letzten Jahren mit Content Management Systemen, Webframeworks und Portalen auf Java-Basis. In diesem Umfeld arbeitete er als Entwickler, Architekt und Projektleiter. Er hat darüber hinaus Erfahrungen in Schulungen und Coachings. In letzter Zeit setzte er einen seiner Schwerpunkte auch auf Web- Application-Security, Identity-Management und neue Seiten von JavaScript. Ein anderer persönlicher Schwerpunkt sind agile Methoden und Prozesse

Schreib einen Kommentar

Pflichtfelder sind mit * markiert.