Lazy Acquisition
为什么要延迟?
延迟加载模式是用于快速启动。保证初始化时不必浪费时间去加载和运算,而在需要的时候再去调用。
框架中有实现吗?
.NET典型的使用在4.0中已经有了,Lazy<T>
特性:线程安全接口
支持线程安全接口,以及Lambda委托。
时机
原理:在访问Value时访问目标对象进行调用。
应用例子
项目:在使用SignalR进行访问HttpContext的时候,总是提示HttpContext为null,原因是SignalR的请求速度很快,而此时的HttpContext没有创建,那么就访问HttpContext的代码延迟到需要的时候才访问,即简单地解决了这个问题。