رسیدی به آخر مسیر. این درس امتحانِ حفظیات نیست؛ شبیهسازیِ «نشستن پشت مسئلهٔ واقعی» است: ردیابی، تصمیم و ساختن.
نقشهٔ راهِ مرور
۱. مدل شیء: ارجاع، 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 تابعی؟) را توضیح دهد.
خودآزمایی جامع
۰ از ۳ پاسخ داده شده