08.09.2014 Aufrufe

Design Pattern: Lazy Loading

Design Pattern: Lazy Loading

Design Pattern: Lazy Loading

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong><br />

Schlienger, Jauner<br />

06. September 2012<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 1 / 23


1 Einführung<br />

Begriffe<br />

Zweck<br />

2 Fallbeispiel<br />

Ausgangslage<br />

Realisierungsvarianten<br />

<strong>Lazy</strong> <strong>Loading</strong> im Detail<br />

3 Demo<br />

4 Rund um <strong>Lazy</strong> <strong>Loading</strong><br />

5 Fazit<br />

Vor und Nachteile<br />

6 Schluss<br />

Persönliche Erfahrungen<br />

Fragen<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 2 / 23


Einführung<br />

Begriffe<br />

Begriffe zu <strong>Lazy</strong> <strong>Loading</strong><br />

<strong>Lazy</strong> <strong>Loading</strong> = Verzögertes Laden von Daten. Synonyme: <strong>Loading</strong><br />

on demand, deferred loading<br />

Eager <strong>Loading</strong> = Gegenteil von <strong>Lazy</strong> <strong>Loading</strong>. Die Daten werden alle<br />

sofort geladen<br />

Das <strong>Design</strong> <strong>Pattern</strong> <strong>Lazy</strong> <strong>Loading</strong> gehört zu den Persistenzpattern<br />

(z.B. Datenbank Zugriff)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 3 / 23


Einführung<br />

Begriffe<br />

Begriffe zu <strong>Lazy</strong> <strong>Loading</strong><br />

<strong>Lazy</strong> <strong>Loading</strong> = Verzögertes Laden von Daten. Synonyme: <strong>Loading</strong><br />

on demand, deferred loading<br />

Eager <strong>Loading</strong> = Gegenteil von <strong>Lazy</strong> <strong>Loading</strong>. Die Daten werden alle<br />

sofort geladen<br />

Das <strong>Design</strong> <strong>Pattern</strong> <strong>Lazy</strong> <strong>Loading</strong> gehört zu den Persistenzpattern<br />

(z.B. Datenbank Zugriff)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 3 / 23


Einführung<br />

Begriffe<br />

Begriffe zu <strong>Lazy</strong> <strong>Loading</strong><br />

<strong>Lazy</strong> <strong>Loading</strong> = Verzögertes Laden von Daten. Synonyme: <strong>Loading</strong><br />

on demand, deferred loading<br />

Eager <strong>Loading</strong> = Gegenteil von <strong>Lazy</strong> <strong>Loading</strong>. Die Daten werden alle<br />

sofort geladen<br />

Das <strong>Design</strong> <strong>Pattern</strong> <strong>Lazy</strong> <strong>Loading</strong> gehört zu den Persistenzpattern<br />

(z.B. Datenbank Zugriff)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 3 / 23


Einführung<br />

Zweck<br />

Was ist das Ziel von <strong>Lazy</strong> <strong>Loading</strong>?<br />

Dem Benutzer so schnell wie möglich die benötigten Daten zur<br />

Verfügung zu stellen<br />

Verringerung der Ladezeiten der Applikation<br />

Erhöhung der Systemperformance<br />

Entlastung der beteiligten Systeme. Insbesondere der Datenbank bei<br />

Mehrbenutzerzugriff<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 4 / 23


Einführung<br />

Zweck<br />

Was ist das Ziel von <strong>Lazy</strong> <strong>Loading</strong>?<br />

Dem Benutzer so schnell wie möglich die benötigten Daten zur<br />

Verfügung zu stellen<br />

Verringerung der Ladezeiten der Applikation<br />

Erhöhung der Systemperformance<br />

Entlastung der beteiligten Systeme. Insbesondere der Datenbank bei<br />

Mehrbenutzerzugriff<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 4 / 23


Einführung<br />

Zweck<br />

Was ist das Ziel von <strong>Lazy</strong> <strong>Loading</strong>?<br />

Dem Benutzer so schnell wie möglich die benötigten Daten zur<br />

Verfügung zu stellen<br />

Verringerung der Ladezeiten der Applikation<br />

Erhöhung der Systemperformance<br />

Entlastung der beteiligten Systeme. Insbesondere der Datenbank bei<br />

Mehrbenutzerzugriff<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 4 / 23


Einführung<br />

Zweck<br />

Was ist das Ziel von <strong>Lazy</strong> <strong>Loading</strong>?<br />

Dem Benutzer so schnell wie möglich die benötigten Daten zur<br />

Verfügung zu stellen<br />

Verringerung der Ladezeiten der Applikation<br />

Erhöhung der Systemperformance<br />

Entlastung der beteiligten Systeme. Insbesondere der Datenbank bei<br />

Mehrbenutzerzugriff<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 4 / 23


Fallbeispiel<br />

1 Einführung<br />

Begriffe<br />

Zweck<br />

2 Fallbeispiel<br />

Ausgangslage<br />

Realisierungsvarianten<br />

<strong>Lazy</strong> <strong>Loading</strong> im Detail<br />

3 Demo<br />

4 Rund um <strong>Lazy</strong> <strong>Loading</strong><br />

5 Fazit<br />

Vor und Nachteile<br />

6 Schluss<br />

Persönliche Erfahrungen<br />

Fragen<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 5 / 23


Klassendiagramm<br />

Fallbeispiel<br />

Ausgangslage<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 6 / 23


Fallbeispiel<br />

Ausgangslage<br />

Geplanter Vorgang<br />

Der Client will die Adresse eines Teachers mutieren<br />

Der Client will die Kurse zu einem Teacher anzeigen<br />

Anhand der nachfolgenden Diagramme aufzeigen welche Objekte<br />

geladen werden müssen<br />

Eager <strong>Loading</strong> (alle Daten werden sofort geladen)<br />

<strong>Lazy</strong> <strong>Loading</strong> (die Daten werden bei Bedarf nachgeladen)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 7 / 23


Fallbeispiel<br />

Ausgangslage<br />

Geplanter Vorgang<br />

Der Client will die Adresse eines Teachers mutieren<br />

Der Client will die Kurse zu einem Teacher anzeigen<br />

Anhand der nachfolgenden Diagramme aufzeigen welche Objekte<br />

geladen werden müssen<br />

Eager <strong>Loading</strong> (alle Daten werden sofort geladen)<br />

<strong>Lazy</strong> <strong>Loading</strong> (die Daten werden bei Bedarf nachgeladen)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 7 / 23


Fallbeispiel<br />

Ausgangslage<br />

Geplanter Vorgang<br />

Der Client will die Adresse eines Teachers mutieren<br />

Der Client will die Kurse zu einem Teacher anzeigen<br />

Anhand der nachfolgenden Diagramme aufzeigen welche Objekte<br />

geladen werden müssen<br />

Eager <strong>Loading</strong> (alle Daten werden sofort geladen)<br />

<strong>Lazy</strong> <strong>Loading</strong> (die Daten werden bei Bedarf nachgeladen)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 7 / 23


Fallbeispiel<br />

Realisierungsvarianten<br />

Objektdiagramm bei Eager <strong>Loading</strong><br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 8 / 23


Fallbeispiel<br />

Objektdiagramm bei <strong>Lazy</strong> <strong>Loading</strong><br />

Realisierungsvarianten<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 9 / 23


Fallbeispiel<br />

<strong>Lazy</strong> <strong>Loading</strong> im Detail<br />

Sequenzdiagramm für Adresse modifizieren<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 10 / 23


Fallbeispiel<br />

<strong>Lazy</strong> <strong>Loading</strong> im Detail<br />

Sequenzdiagramm für Kurse anzeigen<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 11 / 23


Demo<br />

1 Einführung<br />

Begriffe<br />

Zweck<br />

2 Fallbeispiel<br />

Ausgangslage<br />

Realisierungsvarianten<br />

<strong>Lazy</strong> <strong>Loading</strong> im Detail<br />

3 Demo<br />

4 Rund um <strong>Lazy</strong> <strong>Loading</strong><br />

5 Fazit<br />

Vor und Nachteile<br />

6 Schluss<br />

Persönliche Erfahrungen<br />

Fragen<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 12 / 23


Demo<br />

Demo anhand eines Beispiels<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 13 / 23


Rund um <strong>Lazy</strong> <strong>Loading</strong><br />

1 Einführung<br />

Begriffe<br />

Zweck<br />

2 Fallbeispiel<br />

Ausgangslage<br />

Realisierungsvarianten<br />

<strong>Lazy</strong> <strong>Loading</strong> im Detail<br />

3 Demo<br />

4 Rund um <strong>Lazy</strong> <strong>Loading</strong><br />

5 Fazit<br />

Vor und Nachteile<br />

6 Schluss<br />

Persönliche Erfahrungen<br />

Fragen<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 14 / 23


Rund um <strong>Lazy</strong> <strong>Loading</strong><br />

Realisierung von <strong>Lazy</strong> <strong>Loading</strong> mit JPA<br />

JPA = Java Persistence API<br />

1 // <strong>Lazy</strong> <strong>Loading</strong><br />

2 @OneToMany( mappedBy = ” d i s h ” , f e t c h = FetchType . LAZY)<br />

3 p u b l i c L i s t g e t I n g r e d i e n t s ( ) {<br />

4 r e t u r n i n g r e d i e n t s ;<br />

5 }<br />

6<br />

7 // Eager <strong>Loading</strong><br />

8 @OneToMany( mappedBy = ” d i s h ” , f e t c h = FetchType . EAGER)<br />

9 p u b l i c L i s t g e t I n g r e d i e n t s ( ) {<br />

10 r e t u r n i n g r e d i e n t s ;<br />

11 }<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 15 / 23


Rund um <strong>Lazy</strong> <strong>Loading</strong><br />

<strong>Lazy</strong> <strong>Loading</strong> ist in vielen Bereichen anzutreffen<br />

Treffer einer Suchanfrage (google-Suche, Details zum Suchergebnis<br />

werden erst geladen, wenn ein bestimmter Treffer angewählt wird)<br />

öffnen von Dokumenten mit umfangreichem Inhalt (Bilder etc. erst<br />

laden, wenn entsprechende Seite auf dem Bildschirm dargestellt wird)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 16 / 23


Rund um <strong>Lazy</strong> <strong>Loading</strong><br />

<strong>Lazy</strong> <strong>Loading</strong> ist in vielen Bereichen anzutreffen<br />

Treffer einer Suchanfrage (google-Suche, Details zum Suchergebnis<br />

werden erst geladen, wenn ein bestimmter Treffer angewählt wird)<br />

öffnen von Dokumenten mit umfangreichem Inhalt (Bilder etc. erst<br />

laden, wenn entsprechende Seite auf dem Bildschirm dargestellt wird)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 16 / 23


Rund um <strong>Lazy</strong> <strong>Loading</strong><br />

Entscheidungshilfe<br />

wie wahrscheinlich ist es, dass bestimmte Daten benötigt werden<br />

(hohe Wahrscheinlichkeit → Eager, tiefe Wahrscheinlichkeit → <strong>Lazy</strong>)<br />

wie gross ist die Datenmenge (tief → eager, hoch → lazy)<br />

kann man die Daten später überhaupt nachladen?<br />

wie löst man das Problem von Inkonstistenzen (v.a. bei<br />

Mehrbenutzer-Schreib/Lesezugriff)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 17 / 23


Rund um <strong>Lazy</strong> <strong>Loading</strong><br />

Entscheidungshilfe<br />

wie wahrscheinlich ist es, dass bestimmte Daten benötigt werden<br />

(hohe Wahrscheinlichkeit → Eager, tiefe Wahrscheinlichkeit → <strong>Lazy</strong>)<br />

wie gross ist die Datenmenge (tief → eager, hoch → lazy)<br />

kann man die Daten später überhaupt nachladen?<br />

wie löst man das Problem von Inkonstistenzen (v.a. bei<br />

Mehrbenutzer-Schreib/Lesezugriff)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 17 / 23


Rund um <strong>Lazy</strong> <strong>Loading</strong><br />

Entscheidungshilfe<br />

wie wahrscheinlich ist es, dass bestimmte Daten benötigt werden<br />

(hohe Wahrscheinlichkeit → Eager, tiefe Wahrscheinlichkeit → <strong>Lazy</strong>)<br />

wie gross ist die Datenmenge (tief → eager, hoch → lazy)<br />

kann man die Daten später überhaupt nachladen?<br />

wie löst man das Problem von Inkonstistenzen (v.a. bei<br />

Mehrbenutzer-Schreib/Lesezugriff)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 17 / 23


Rund um <strong>Lazy</strong> <strong>Loading</strong><br />

Entscheidungshilfe<br />

wie wahrscheinlich ist es, dass bestimmte Daten benötigt werden<br />

(hohe Wahrscheinlichkeit → Eager, tiefe Wahrscheinlichkeit → <strong>Lazy</strong>)<br />

wie gross ist die Datenmenge (tief → eager, hoch → lazy)<br />

kann man die Daten später überhaupt nachladen?<br />

wie löst man das Problem von Inkonstistenzen (v.a. bei<br />

Mehrbenutzer-Schreib/Lesezugriff)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 17 / 23


Fazit<br />

1 Einführung<br />

Begriffe<br />

Zweck<br />

2 Fallbeispiel<br />

Ausgangslage<br />

Realisierungsvarianten<br />

<strong>Lazy</strong> <strong>Loading</strong> im Detail<br />

3 Demo<br />

4 Rund um <strong>Lazy</strong> <strong>Loading</strong><br />

5 Fazit<br />

Vor und Nachteile<br />

6 Schluss<br />

Persönliche Erfahrungen<br />

Fragen<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 18 / 23


Fazit<br />

Vor und Nachteile<br />

Vorteile<br />

unmittelbar benötigte Daten sind schneller verfügbar. Beispiel: laden<br />

eines 1’000-seitigen Dokuments mit vielen Abbildungen. Für die<br />

Ansicht des Inhaltsverzeichnisses muss nicht das ganze Dokument<br />

geladen werden.<br />

dadurch geringere Belastung der Systeme, v.a. Datenbank und<br />

Datenübertragungseinrichtungen<br />

für den Benutzer sind mehrere kurze Wartezeiten (beim Nachladen)<br />

angenehmer als eine grosse Wartezeit<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 19 / 23


Fazit<br />

Vor und Nachteile<br />

Vorteile<br />

unmittelbar benötigte Daten sind schneller verfügbar. Beispiel: laden<br />

eines 1’000-seitigen Dokuments mit vielen Abbildungen. Für die<br />

Ansicht des Inhaltsverzeichnisses muss nicht das ganze Dokument<br />

geladen werden.<br />

dadurch geringere Belastung der Systeme, v.a. Datenbank und<br />

Datenübertragungseinrichtungen<br />

für den Benutzer sind mehrere kurze Wartezeiten (beim Nachladen)<br />

angenehmer als eine grosse Wartezeit<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 19 / 23


Fazit<br />

Vor und Nachteile<br />

Vorteile<br />

unmittelbar benötigte Daten sind schneller verfügbar. Beispiel: laden<br />

eines 1’000-seitigen Dokuments mit vielen Abbildungen. Für die<br />

Ansicht des Inhaltsverzeichnisses muss nicht das ganze Dokument<br />

geladen werden.<br />

dadurch geringere Belastung der Systeme, v.a. Datenbank und<br />

Datenübertragungseinrichtungen<br />

für den Benutzer sind mehrere kurze Wartezeiten (beim Nachladen)<br />

angenehmer als eine grosse Wartezeit<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 19 / 23


Fazit<br />

Vor und Nachteile<br />

Nachteile<br />

höhere Komplexität wegen erhöhter Anzahl von Anfragen<br />

Gewährleistung, dass immer alle Daten die benötigt werden auch zur<br />

Verfügung stehen. lazyLoadException<br />

längere Gesamtladezeit wegen höherer totalen Datenmenge<br />

(overhead) und häufigeren Datenbankanfragen<br />

höhere Wahrscheinlichkeit für Konstistenzprobleme, wenn Daten<br />

verzögert geladen werden (Zustand der Datenbank bei Beginn des<br />

Ladens anders als beim Nachladen der (letzten) Objekte)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 20 / 23


Fazit<br />

Vor und Nachteile<br />

Nachteile<br />

höhere Komplexität wegen erhöhter Anzahl von Anfragen<br />

Gewährleistung, dass immer alle Daten die benötigt werden auch zur<br />

Verfügung stehen. lazyLoadException<br />

längere Gesamtladezeit wegen höherer totalen Datenmenge<br />

(overhead) und häufigeren Datenbankanfragen<br />

höhere Wahrscheinlichkeit für Konstistenzprobleme, wenn Daten<br />

verzögert geladen werden (Zustand der Datenbank bei Beginn des<br />

Ladens anders als beim Nachladen der (letzten) Objekte)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 20 / 23


Fazit<br />

Vor und Nachteile<br />

Nachteile<br />

höhere Komplexität wegen erhöhter Anzahl von Anfragen<br />

Gewährleistung, dass immer alle Daten die benötigt werden auch zur<br />

Verfügung stehen. lazyLoadException<br />

längere Gesamtladezeit wegen höherer totalen Datenmenge<br />

(overhead) und häufigeren Datenbankanfragen<br />

höhere Wahrscheinlichkeit für Konstistenzprobleme, wenn Daten<br />

verzögert geladen werden (Zustand der Datenbank bei Beginn des<br />

Ladens anders als beim Nachladen der (letzten) Objekte)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 20 / 23


Fazit<br />

Vor und Nachteile<br />

Nachteile<br />

höhere Komplexität wegen erhöhter Anzahl von Anfragen<br />

Gewährleistung, dass immer alle Daten die benötigt werden auch zur<br />

Verfügung stehen. lazyLoadException<br />

längere Gesamtladezeit wegen höherer totalen Datenmenge<br />

(overhead) und häufigeren Datenbankanfragen<br />

höhere Wahrscheinlichkeit für Konstistenzprobleme, wenn Daten<br />

verzögert geladen werden (Zustand der Datenbank bei Beginn des<br />

Ladens anders als beim Nachladen der (letzten) Objekte)<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 20 / 23


Schluss<br />

1 Einführung<br />

Begriffe<br />

Zweck<br />

2 Fallbeispiel<br />

Ausgangslage<br />

Realisierungsvarianten<br />

<strong>Lazy</strong> <strong>Loading</strong> im Detail<br />

3 Demo<br />

4 Rund um <strong>Lazy</strong> <strong>Loading</strong><br />

5 Fazit<br />

Vor und Nachteile<br />

6 Schluss<br />

Persönliche Erfahrungen<br />

Fragen<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 21 / 23


Schluss<br />

Persönliche Erfahrungen<br />

Lehren und Erfahrungen<br />

oft schwierig, zwischen Eager und <strong>Lazy</strong> <strong>Loading</strong> zu differenzieren, da<br />

Mischformen anzutreffen sind<br />

hat das Bewusstsein mit dem Umgang des Ladens von Daten<br />

gefördert<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 22 / 23


Schluss<br />

Persönliche Erfahrungen<br />

Lehren und Erfahrungen<br />

oft schwierig, zwischen Eager und <strong>Lazy</strong> <strong>Loading</strong> zu differenzieren, da<br />

Mischformen anzutreffen sind<br />

hat das Bewusstsein mit dem Umgang des Ladens von Daten<br />

gefördert<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 22 / 23


Schluss<br />

Fragen<br />

Gerne beantworten wir nun Ihre Fragen.<br />

Schlienger, Jauner () <strong>Design</strong> <strong>Pattern</strong>: <strong>Lazy</strong> <strong>Loading</strong> 06. September 2012 23 / 23

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!