رفتن به محتوای اصلی
برنامه‌سازی پیشرفته با پایتون درس‌نامهٔ آزاد
مفهوم پیشرفته ۱۰ دقیقه

الگوهای طراحی به سبک پایتون

الگوهای کاربردی با پیاده‌سازی تابعی، Singleton مشکوک و ملاکِ «کِی الگو بیاوریم».

الگو اسمِ مشترک برای «راه‌حلِ تکراریِ یک دردِ تکراری» است — نه مدال افتخار. در پایتون خیلی از الگوهای کلاسیکِ جاوا با یک تابع یا دیکشنری حل می‌شوند:

  • Strategy → دیکشنریِ نام → تابع (درس بازآرایی).
  • Observer → لیستِ callback و متد subscribe.
  • Facade → یک تابعِ ساده روی زیرسیستمِ پیچیده.
  • MVC → همان انضباط «منطق جدا از نما» که در GUI دیدی.
  • Singleton → تقریباً همیشه نه؛ به‌جایش نمونهٔ ماژول‌سطح یا تزریق وابستگی. حالتِ سراسریِ پنهان، تست را جهنم می‌کند.
# Facade: یک ورودی ساده روی سه قدمِ پیچیده
def publish(article):
    rendered = render_markdown(article.body)
    indexed = index_for_search(article.id, rendered)
    notify_subscribers(article.author, article.id)
    return indexed

ملاک آوردن الگو: دردِ واقعی و تکراری (سومین بار که در یک محور تغییر کردی). قبلش ساده‌ترین کدِ خوانا.

برداشت نادرست رایج

اشتباه رایج

معمارِ خوب در هر پروژه از چند الگو استفاده می‌کند.

تصحیح

معمارِ خوب الگوها را می‌شناسد و تا درد نباشد به کارشان نمی‌برد. الگویِ بدونِ درد، پیچیدگیِ بدونِ سود است.

مطالب مرتبط

از همین بخش و با برچسب‌های مشترک

این مطلب را خواندید؟ آن را علامت بزنید تا پیشرفت شما روی همین دستگاه ذخیره شود.

وضعیت پیشرفت برای الگوهای طراحی به سبک پایتون