'''Intent:''' Used for Lazy instantiation of objects or for Lazy processing. Suppose you need to support 'resource-hungry' objects (eg. those that involve a large amount of I/O or a database transaction). One need not instantiate these objects until they are really required. The real object would get created only when the client actually requests some of its functionality.

A special case of HandleBodyPattern.

'''See also:''' ProxyPattern, HandleBodyPattern, DesignPatterns LazyEvaluation
----
FunctoidsInCpp provides an implementation in CeePlusPlus, using LazyPtrProxy (see ObserverPatternInCeePlusPlus).
----
CategoryCreationalPatterns CategoryLazyPattern CategoryFunctionalProgramming