Το pattern Proxy παρέχει έναν placeholder ή αντικαταστάτη για ένα άλλο object προκειμένου να ελέγχει την πρόσβαση σε αυτό. Το proxy έχει την ίδια διεπαφή με το πραγματικό object αλλά προσθέτει συμπεριφορά — όπως lazy loading, έλεγχο πρόσβασης, caching, ή logging — πριν το αναθέσει.
Τι κάνει το pattern Proxy
PROXY → an object that STANDS IN for another, controlling access to it:
→ same interface as the real object (clients use it transparently)
→ adds behavior BEFORE/AROUND delegating to the real object
→ controls WHEN and HOW the real object is accessed
→ "a stand-in that adds control/behavior"
