我是Grails的新手,我遇到了Eager和懒惰的名字。它们实际上是什么?如果答案解释何时应该使用这些技术,那将是非常好的?
提前致谢。
答案 0 :(得分:7)
假设您有一个带有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;
}
}