В настоящее время я читаю книгу по программированию веб-сайтов, и автор упоминает, что он будет кодировать объекты DLL для использования шаблона ленивой загрузки. Я думаю, что концептуально я немного понимаю шаблон ленивой загрузки, но я не уверен, понимаю ли я его полезность в том виде, в котором его реализовал автор.
Кстати, здесь я не спрашиваю о полезности шаблонов ленивой загрузки в целом, а о том, полезен ли он в том виде, в котором он реализован в этой конкретной книге:
1) В любом случае, когда создается объект DLL, выполняется запрос к БД (через DAL), который извлекает данные из различных столбцов и заполняет ими свойства нашего объекта DLL. Так как одно из полей (назовем его "L") может содержать довольно значительный объем текста, автор решил извлекать это поле только при первом чтении этого свойства.
А) В нашей ситуации, что именно мы выиграли, применив шаблон ленивой загрузки? Просто меньше памяти?
B) Но, с другой стороны, разве способ, которым автор реализовал шаблон ленивой загрузки, не заставляет ЦП выполнять больше работы и, следовательно, больше времени для завершения, поскольку, если L извлекается отдельно от других полей, то это потребует от нашего приложения сделать дополнительный вызов Sql Server, чтобы получить «L», в то время как без шаблона ленивой загрузки потребовался бы только один вызов Sql Server, так как мы получили бы все поля сразу?!
Кстати, я понимаю, что шаблон ленивой загрузки может быть чрезвычайно полезен в ситуациях, когда для извлечения определенного фрагмента данных потребуются тяжелые вычисления, но в приведенном выше примере это не так.
спасибо