加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

grails – 什么是渴望获取和懒惰取物?

发布时间:2020-12-14 16:23:11 所属栏目:大数据 来源:网络整理
导读:我是Grails的新手,我遇到了Eager和懒惰的名字.它们实际上是什么?如果答案解释何时应该使用这些技术,那将是非常好的? 提前致谢. 解决方法 假设您有一个带有Person表和地址表的简单数据库模式.如果从数据库加载人员,则有2个选项: 急切加载地址,以便从数据库
我是Grails的新手,我遇到了Eager和懒惰的名字.它们实际上是什么?如果答案解释何时应该使用这些技术,那将是非常好的?

提前致谢.

解决方法

假设您有一个带有Person表和地址表的简单数据库模式.如果从数据库加载人员,则有2个选项:

>急切加载地址,以便从数据库中返回人员和地址,可能是一次往返.无论是否需要或使用,都会立即加载.
>懒惰地加载地址,这意味着在需要之前不要加载它.

这只是一个例子,有很多其他的,拿这个例子,用c#编写,但应该是显而易见的:

private ExpensiveObjectToCreate lazy;
private ExpensiveObjectToCreate eager = new ExpensiveObjectToCreate();

public ExpensiveObjectToCreate Lazy
{
    get
    {
        if(lazy == null)
        {
             lazy = new ExpensiveObjectToCreate();
        }
        return lazy;
    }
}
public ExpensiveObjectToCreate Eager
{
    get
    {
        return eager;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读