فارسی
باز کردن در Telegram

پست الگو دکوراتور چیه؟ 🤔

4 ژوئیه 2024
M
mahdi
الگو دکوراتور چیه؟ 🤔 در برنامه‌نویسی شی‌گرا، الگوی دکوراتور یک الگوی طراحی(design pattern) هست که اجازه میده رفتار جدیدی به یک شیء خاص به صورت پویا اضافه بشه، بدون اینکه بر رفتار سایر اشیاء از همان کلاس تأثیر بزاره. این الگو به اصل مسئولیت تک (Single Responsibility Principle) پایبنده، چون امکان تقسیم وظایف بین کلاس‌های مختلف رو فراهم میکنه و همچنین به اصل باز-بسته (Open-Closed Principle) کمک میکنه، چون میتونه کارکرد کلاس‌ها رو بدون تغییرشون افزایش بده. توجه داشته باشید این الگو با دکوراتور ها در پایتون یکی نیست‼️ برای درک بهتر با هم یک مثال میزنیم. فرض کنید که در یک کافی‌شاپ قهوه سفارش میدید. حالا چطور الگوی دکوراتور رو میتونیم ببینیم؟ * هسته: درواقع قهوه شما جزء اصلی هست و فرقی نداره چه قهوه ای باشه. * دکوراتورها: ممکنه بخوایید به قهوه خودتون اجزای مختلفی اضافه کنید، که به عنوان دکوراتور عمل میکنن. به عنوان مثال این دکوراتور: ‏* MilkDecorator: شیر رو به قهوه شما اضافه میکنه. ‏* SugarDecorator: شکر رو به قهوه شما اضافه میکنه. ‏* SyrupDecorator: شربت های طعم دار رو اضافه میکنه.  حالا شما به عنوان مشتری، با انتخاب و ترکیب دکوراتورها تصمیم میگیرید قهوه خودتون رو چجوری درست کنید. مثلا شما ممکنه کمی نیاز به شیر داشته باشید، پس از MilkDecorator استفاده می‌کنید. برخی از ویژگی های این الگو⬇️ 🔵نگهداری آسون‌تر: هسته اصلی برنامه بدون تغییر باقی میمونه، که نگهداری و درک کد رو آسون‌تر میکنه. 🔵پایبندی به اصل باز-بسته: میتونید عملکردهای جدیدی به برنامه اضافه کنید بدون اینکه کدهای موجود رو تغییر بدین. 🔵پایبندی به اصل مسئولیت تک: با تقسیم وظایف به کلاس‌های کوچک‌تر و مستقل، کد رو قابل فهم‌تر و قابل مدیریت‌تر میکنه. به صورت کلی الگوی دکوراتور، یکی از الگوهای مهم و معروف در زمینهٔ طراحی نرم‌افزاره که به عنوان یک الگوی ساختاری (Structural Pattern) در الگوهای طراحی GoF شناخته میشه. این الگو اهمیت زیادی در توسعه‌ی نرم‌افزار داره، پس پیشنهاد میکنم برای درک بهترش مقالات زیر رو بخونید. - Article - Article - Article #design_pattern @CodeModule
16 · 913 ·

در همان حوالی فید

𔓙𔓙عکس𔓙𔓙نظرسنجی
این پیام
𔓙𔓙همه چی آرومه، من چقدر خوشبختم 😣 #fun @CodeModuleMmahdiبا این ابزار خلاقیت رو به اوج برسون 🚀 ‏Bennett Feely یک وبسایت هست که ابزارهای خلاقانه و کاربردی بهتون ارائه میده، که با استفاده از این ابزارها میتونید به سادگی
CCode Module | کد ماژولCode Module | کد ماژول@CodeModule · کانال · فناوری
2 192مشترک514میانگین دسترسی پست
فید انجمن باز کردن در Telegram

فید عمومی باز از ایندکس جست‌وجو ChatCrawler — «Google برای Telegram عمومی»؛ با خزش انجمن به‌روز می‌شود. زمان‌ها به UTC است.

فقط محتوای عمومی، API رسمی Telegram. دربارهٔ ما · پرسش‌ها · محدودیت‌های ایندکس · حذف یک صفحه · کاتالوگ · جست‌وجو · روش محاسبهٔ ما