HamidReza Ireh

حمیدرضا ایره

HamidReza Ireh

حمیدرضا ایره

حوزه: Class
هدف: Behavioral
نقش الگو

بعضی از مردم نمی‌توانند زندگی را بدون قهوه تصور کنند و بعضی دیگر زندگی را بدون چای نمی‌توانند تصور کنند. ولی جزء تشکیل دهنده اصلی هر دو کافئین است. شباهت‌های دیگر نیز بین این دو مورد وجود دارد. روش ساخت هر دوی آنها تقریبا مشابه است. شما اغلب موارد به ترتیب زیر عمل می‌کنید.

حوزه: Object
هدف: Behavioral
نقش الگو

این الگو یک راه حل‌ برای حالتی است که، در آن درخواست‌هایی از کاربر به برنامه می‌رسد و باید با توجه به شرایطی به این درخواست‌ها پاسخ داده شود و در موارد زیر کاربرد دارد.

حوزه: Object
هدف: Structural
نقش الگو

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

حوزه: Object
هدف: Creational
نقش الگو

در زمانی که نیاز به شی‌های مشابه باشد و ساخت هر شی منابع زیادی از سیستم را اشغال کند، این الگو طراحی می‌توان گزینه مناسبی باشد تا یک کپی از ‌شی مورد نظر برای ما ایجاد نماید. در واقع می‌توان گفت مزیت الگوی طراحی Prototype سرعت بالاتر آن است بدلیل اینکه کپی کردن یک شئ  از ایجاد یک نمونه جدید شئ سرعت بیشتری دارد.

حوزه: Object
هدف: Behavioral
نقش الگو
این الگو یک الگوی رفتاری یا Behavioral می‌باشد. الگوهای رفتاری با الگوریتم‌ها و ارتباط بین آن‌ها درگیر می‌باشند. اگر برنامه ما یک الگوریتم یکتا را پیاده سازی می‌کند گرچه ممکن است از چندین کلاس استفاده کند ولی به خاطر بالا رفتن پیچیدگی ممکن است که برای مدیریت برنامه و نگهداری کد مشکلاتی به جود بیاید. ما با استفاده از الگوهای طراحی رفتاری سعی می‌کنیم که از این پیچیدگی ها کم کنیم.

حوزه: Object
هدف: Behavioral
نقش الگو

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