نمط Proxy يوفر عنصر نائب أو بديل لكائن آخر للتحكم في الوصول إليه. البروكسي له نفس الواجهة (interface) الخاصة بالكائن الحقيقي لكن يضيف سلوكاً — مثل التحميل الكسول (lazy loading)، أو التحكم في الوصول، أو التخزين المؤقت (caching)، أو التسجيل (logging) — قبل أن يقوم بتفويض المهام إليه.
ما الذي يقوم به نمط 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"
