Similar presentations:
Lazy load. Ленивая загрузка
1. Lazy load
Ленивая загрузкаLAZY LOAD
2. Фундаментальная идея
Загружатьобъект/информацию,
только когда это
нужно.
2
3. Пример ленивой загрузки
Рисунок 1 – Запрос Lazy Load3
4. Варианты ленивой загрузки
Lazy InitializationVirtual Proxy
Value Holder
Ghost
4
5. Пример приложения
classReader
{
Library library = new Library();
public void ReadBook()
{
library.GetBook();
Console.WriteLine("Читаем бумажную книгу");
}
public void ReadEbook()
{
Console.WriteLine("Читаем книгу на компьютере");
}
}
class
Library
{
private string[] books = new string[99];
public void GetBook()
{
Console.WriteLine("Выдаем книгу читателю");
}
}
5
6. Измененный пример с классом Lazy
class Reader{
Lazy<Library> library = new Lazy<Library>();
public void ReadBook()
{
library.Value.GetBook();
Console.WriteLine("Читаем бумажную книгу");
}
public void ReadEbook()
{
Console.WriteLine("Читаем книгу на компьютере");
}
}
6
7. Применение примера
Reader reader = new Reader();reader.ReadEbook();
reader.ReadBook();
7