我目前正在阅读一本关于网站编程的书,作者提到他将编写 DLL 对象以使用延迟加载模式。我认为从概念上讲我有点理解延迟加载模式,但我不确定我是否理解它在作者实现它的方式中的用处
顺便说一句 - 这里我不是在问一般延迟加载模式的有用性,而是在这本特定的书实现它的方式上是否有用:
1) 无论如何,当创建 DLL 对象时,会执行一个 DB 查询(通过 DAL),它从各个列中检索数据并用它填充我们的 DLL 对象的属性。由于其中一个字段(称为“ L ”)可能包含大量文本,因此作者决定仅在第一次读取该属性时检索该字段。
A)在我们的情况下,我们通过应用延迟加载模式究竟获得了什么?只是更少的内存使用?
B)但另一方面,作者实现延迟加载模式的方式不会导致 CPU 做更多的工作,从而导致更长的时间来完成,因为如果 L 是与其他字段分开检索的,那么这将需要我们的应用程序对 Sql Server 进行额外调用以检索“ L ”,而在没有延迟加载模式的情况下,只需要对 Sql Server 进行一次调用,因为我们会一次获取所有字段?!
顺便说一句——我意识到延迟加载模式在检索特定数据需要大量计算的情况下可能非常有用,但在上面的示例中并非如此
谢谢