The Smart Proxy design pattern provides a reference to a surrogate object that represents a real object in a given context.