# Proxy pattern https://refactoring.guru/design-patterns/proxy ![](https://i.imgur.com/m2ETLtq.png) - The Proxy pattern suggests that you create a new proxy class with the same interface as an original service object. - Lazy initialization (virtual proxy) - Access control (protection proxy) - Local execution of a remote service (remote proxy) - Logging requests (logging proxy) - Caching request results (caching proxy) ## lazy object https://www.greyblake.com/blog/lazy-object-pattern-in-ruby/