A singleton service model is one in which only one instance of the service is ever instantiated, and all requests for that service return the same instance.

A deferred service model is one in which the service is not actually instantiated until a method is first invoked on it. This is accomplished through the use of a DeferringProxy object, which wraps the service point.

Methods
Public Instance methods
instantiate_service_point( point )

The service point is wrapped in a DeferringProxy object, to defer the object’s actual creation until the time it is first accessed.

     # File lib/copland/service-model.rb, line 168
168:     def instantiate_service_point( point )
169:       DeferringProxy.new( point )
170:     end