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

مرور، حل مسئله و پروژه

جمع‌بندی کل مسیر: ردیابی کد، اشکال‌زدایی، تصمیم طراحی و پروژهٔ پایانی فروشگاه.

هدف این درس

بتوانی مسئلهٔ ترکیبی را تحلیل کنی، طراحی کلاس ارائه دهی و پروژهٔ پایانی را بسازی.

در این مطلب ۳

رسیدی به آخر مسیر. این درس امتحانِ حفظیات نیست؛ شبیه‌سازیِ «نشستن پشت مسئلهٔ واقعی» است: ردیابی، تصمیم و ساختن.

نقشهٔ راهِ مرور

۱. مدل شیء: ارجاع، self، کپسوله‌سازی، وراثت/ترکیب، MRO، dunder، dataclass. ۲. مهندسی: ماژول، نوع، استثنا، زمینه‌بان، تست و موک، بازآرایی و الگو. ۳. داده: کالکشنِ درست، مولد، پیچیدگی، فایل و سریال امن. ۴. پیشرفته: رویداد، ریسه و قفل، سوکت، بازتاب و تزئین‌کننده.

اگر هر بند را بتوانی با یک مثال کوچک توضیح دهی، آماده‌ای.

تمرین ردیابی: خروجی چیست؟

class Counter:
    total = 0  # ویژگی سطح کلاس
    def __init__(self):
        self.n = 0
    def hit(self):
        self.n += 1
        Counter.total += 1

a, b = Counter(), Counter()
a.hit(); a.hit(); b.hit()
print(a.n, b.n, Counter.total)
    ۴ گام باقی مانده

    پروژهٔ پایانی: فروشگاه کوچک

    بسازی: کاتالوگ (dataclass)، سبد (کلاس با موجودی و استثنای دامنه‌ای)، تخفیف راهبردی (Strategy با دیکشنری تابع)، ذخیره‌سازی JSON، تست واحد برای منطق، و گزارش‌گیری هم‌روندِ امن با صف.

    معیار قبولی: تست‌ها سبز، منطق از نما جدا، هیچ pickle ناامن، و یک README که تصمیم‌های طراحی (چرا ترکیب؟ چرا Strategy تابعی؟) را توضیح دهد.

    خودآزمایی جامع

    ۰ از ۳ پاسخ داده شده

    1. خروجی مثال Counter چیست؟
    2. اولین قدم حرفه‌ای وقتی با باگ ناشناخته روبه‌رو می‌شوی؟
    3. برای منطق تخفیف‌های متنوع فروشگاه، تمیزترین انتخاب پایتونیک؟

    اول به همهٔ پرسش‌ها پاسخ دهید، بعد بررسی کنید.

    مطالب مرتبط

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

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

    وضعیت پیشرفت برای مرور، حل مسئله و پروژه