Lazy Acquisition

时间:2021-02-18 20:21:00

为什么要延迟?

延迟加载模式是用于快速启动。保证初始化时不必浪费时间去加载和运算,而在需要的时候再去调用。

框架中有实现吗?

.NET典型的使用在4.0中已经有了,Lazy<T>

特性:线程安全接口

支持线程安全接口,以及Lambda委托。

时机

原理:在访问Value时访问目标对象进行调用。

应用例子

项目:在使用SignalR进行访问HttpContext的时候,总是提示HttpContext为null,原因是SignalR的请求速度很快,而此时的HttpContext没有创建,那么就访问HttpContext的代码延迟到需要的时候才访问,即简单地解决了这个问题。

更深一点

http://www.cnblogs.com/kym/archive/2010/02/21/1670226.html