Design Pattern: Lazy Loading
Design Pattern: Lazy Loading
Design Pattern: Lazy Loading
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