В момента чета книга за програмиране на уебсайтове и авторът споменава, че ще кодира DLL обекти, за да използва модел на мързеливо зареждане. Мисля, че концептуално разбирам донякъде модела на мързеливо зареждане, но не съм сигурен дали разбирам полезността му в начина, по който авторът го е внедрил
Между другото – Тук не питам за полезността на моделите за мързеливо зареждане като цяло, а дали е полезно по начина, по който тази конкретна книга го прилага:
1) Така или иначе, когато се създава DLL обект, се изпълнява DB заявка (чрез DAL), която извлича данни от различни колони и с тях попълва свойствата на нашия DLL обект. Тъй като едно от полетата (наречете го "L") може да съдържа доста значително количество текст, авторът реши да извлече това поле само когато това свойство се чете за първи път.
A) В нашата ситуация, какво точно спечелихме чрез прилагане на модел на мързеливо зареждане? Просто по-малко използване на паметта?
B) Но от друга страна, начинът, по който авторът е внедрил модела на мързеливо зареждане, не кара ли процесора да върши повече работа и следователно по-дълго време за завършване, тъй като ако L се извлича отделно от други полета, тогава това ще изисква нашето приложение да направи допълнително извикване на Sql сървър, за да извлече "L", докато без модел на мързеливо зареждане ще е необходимо само едно извикване на Sql сървър, тъй като ще получим всички полета наведнъж?!
Между другото – осъзнавам, че моделът на отложено зареждане може да бъде изключително полезен в ситуации, в които извличането на определена част от данните би изисквало тежки изчисления, но това не е случаят в горния пример
благодаря