Pola Proxy menyediakan placeholder atau pengganti untuk objek lain untuk mengontrol akses kepadanya. Proxy memiliki antarmuka yang sama dengan objek asli tetapi menambahkan perilaku — seperti lazy loading, kontrol akses, caching, atau logging — sebelum mendelegasikan ke objek tersebut.
Apa yang dilakukan pola 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"
