![]() |
1
227
这被称为延迟加载,因为就像一个懒惰的人一样,你正在推迟做你不想做的事情。相反的是快速加载,在你需要它之前,你就可以立即加载它。 如果您想知道为什么人们可能会使用懒惰加载,那么考虑一个需要花费大量时间启动的应用程序。此应用程序可能正在进行大量的快速加载。。。从磁盘加载东西,在需要它之前做计算等等。 与延迟加载相比,应用程序的启动速度要快得多,但是当您第一次需要执行一些需要长时间运行的加载时,在第一次加载时可能会有轻微的停顿。因此,通过延迟加载,您可以在整个应用程序运行过程中摊销加载时间。。。实际上,您可以从加载用户可能从未打算使用的东西中节省下来。 |
![]() |
3
14
|
![]() |
4
9
延迟加载是计算机编程中常用的一种设计模式,它将对象的初始化延迟到需要时。。。 |
![]() |
5
7
术语延迟加载通常用于讨论对象关系映射器。如果您直接使用ADO.NET,您总是会得到快速加载(即它总是加载您指定的内容)。
仔细设计对象模型也可以避免这个问题。(在域驱动设计中,使用聚合并仅加载聚合根是一种避免使用延迟加载的方法)。 延迟加载可能导致或映射器执行大量小型数据库访问,而不是一次检索所有需要的数据。这也会导致性能问题。 |
![]() |
6
5
下面是我编写的一些实际Python代码的示例:
基本上,我有一个Item类,它表示库存中的一个项目。我们拥有的物品总数是我们拥有的物品数量加上我们从各种来源借用的所有物品的总和。这些数字都存储在我们的数据库中,在实际请求总数之前,计算这些数字是毫无意义的(因为通常使用项目时不会请求总数)。 因此total属性检查_total字段是否存在。如果没有,则属性代码查询数据库并计算它,然后将该值存储在_total字段中,以便下次请求时无需重新计算该值。 |
![]() |
7
4
懒散加载:你不会把时间(或记忆)浪费在你可能不需要的东西上。当你需要它的时候,它需要更长的时间,但那很好。
|
![]() |
8
4
延迟加载是数据库中经常使用的一个术语,指的是仅在需要时加载部分所需信息的概念。 例如,假设您需要一个包含多个表的联接的记录。如果您同时获取所有数据,则所需时间将比仅获取主表所需时间更长。使用延迟加载,只有在需要时才会获取其余信息。因此,在某些情况下,它实际上是“有效加载”。 其他类型的“装载”是:
|
![]() |
9
3
这使您的代码更加高效,并有助于管理内存使用。 延迟加载的示例应用程序: 价值持有者 |
![]() |
10
3
延迟加载的一些优点:
|
![]() |
11
2
延迟加载的一个例子是网页上有大量数据的网格或表格,以查看应用程序当时只加载用户浏览器视点大小的页面。当他们向下滚动想要查看更多内容或数据时,此时会将更多数据加载到视图中。 通过ajax或jQuery,这也越来越成为一种常见的视觉/交互设计模式。
|
![]() |
12
1
|
![]() |
13
0
Geeksforgeks认为,延迟加载是一种软件设计模式,只有在实际需要时才会初始化对象,而不是在之前初始化对象,以保持使用的简单性并提高性能。 |
![]() |
livthomas · 如何在Angular应用程序中延迟加载库 7 年前 |
![]() |
Sameer · 为延迟加载的模块创建公共模块 7 年前 |
![]() |
Philip Feldmann · 帆。js延迟加载模型 7 年前 |
![]() |
Perp · 如何将Web包中的节点模块与异步块分离? 7 年前 |
![]() |
Bob Ramsey · 需要关于延迟加载mat手风琴内容的帮助 7 年前 |
![]() |
JSON · 如何将子组件设置为路由器出口的默认路由?[副本] 7 年前 |