Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
# هدف برای کنترل دسترسی به اشیاء، نماینده یا نگهدارنده‌ای برای آن‌ها ارائه می‌کند.

ساختار

Proxy Pattern UML

اجزاء الگو

  • Proxy: به شیء واقعی اشاره دارد، هر گاه درخواستی ارسال شود، شیء واقعی را صدا می‌زند.
  • Subject: یک واسط مشترک برای RealSubject و Proxy تعریف می‌کند.
  • RealSubject: شیء واقعی را تعریف می‌کند.

نکات طراحی

زمانی از این الگو استفاده کنید که

  • پراکسی دور (Remote Proxy): نیاز به بازنمایی محلی یک شیء دور که در فضای آدرس دیگری قرار دارد، دارید.
  • پراکسی مجازی (Virtual Proxy): نیاز به ارائهٔ روشی برای ساخت اشیاء هزینه‌بر، به صورت بنا-به-درخواست (on-demand) هستید.
  • پراکسی محافظ (Protection Proxy): نیاز به کنترل دسترسی به اشیاء دارید.
  • اشاره‌گر هوشمند (Smart Reference): اقدامات اضافی تنها زمانی باید اجرا شوند که شیء دستیابی شود.

مثال (پراکسی مجازی)

فرض کنید یک ویرایشگر تصویر دارید، و تصاویر حجم بالایی دارند. کاربر چندین تصویر را همزمان برای باز شدن در ویرایشگر انتخاب می‌کند، به خاطر اینکه در هنگام باز شدن ویرایشگر لازم نیست که تمام عکس‌ها در حافظه بار شوند، می‌توانیم بار شدن عکس‌ها در حافظه را تا زمانی که نیاز واقعی به تصاویر نداریم به معوق کنیم.

مثال‌های واقعی

- java.lang.reflect.Proxy - java.rmi.*, the whole API actually.