Proxy Pattern
Proxy Pattern provides a surrogate or placeholder for another object in order to control access to it. You have an object that you want to get access to on which you want to invoke methods on and somehow interact with it but instead of being allowed to interact with that object you have a proxy... » read more