日期:2014-05-20  浏览次数:20798 次

Lazy Load实现
Lazy   Load说需要时加载对象。许多三方的类包实现了延迟加载,但是那个该死的项目要求不让我们把其它的类包加进去,要我们自己用JAVA实现延迟加载。
假设有类
class   User{
    private   String   name;
....
    private   VisitLog   log;
}

现在它要延迟加载那个log.
如果说需要时加载,那么在DAO里面,放一个boolean变量,写一个方法,当它是true的时候,就加载log,否则就不加载。
这样是不是Lazy   Load?
Lazy   Load是设计模式么?有类图看么?我找了N久没找到。

谢谢

------解决方案--------------------
class User
{
private VisitLog log=null;//初始为null;


//只有在需要的时候,调用了这个方法才会载入,如果没有调用过这个方法,那log一直不载入,这就叫lazy load
public VisitLog getLog()
{
if(log==null)
{
log=....//载入
}
return log;
}
}