کدنامهمرجع‌های مهندسی نرم‌افزار، به فارسی

شیءگرایی با چند زبان

OOP across languages

شیءگرایی را معمولاً با یک زبان یاد می‌گیرند و بعد فکر می‌کنند قاعده‌های آن زبان، قاعده‌های شیءگرایی‌اند. این مسیر عمداً چهار زبان را کنار هم می‌گذارد تا ببینی کدام بخش ایدهٔ اصلی است و کدام بخش فقط سلیقهٔ آن زبان. همان مثال، چهار بار، با تفاوت‌هایی که آموزنده‌اند.

۱۶فصل
۲۵۵تمرین با پاسخ
≈ ۲۴ ساعتزمان تخمینی
۳پروژهٔ نهایی

پیشرفت تو

۰٪

درصد هر فصل از دو چیز می‌آید: چقدر از بخش‌هایش را خوانده‌ای (۵۵٪) و چند تمرینش را تیک زده‌ای (۴۵٪). همه‌چیز داخل مرورگر خودت می‌ماند.

فصل

فصل‌ها به هم وابسته‌اند و ترتیبشان معنا دارد. هر مسیر با پروژه‌های نهایی تمام می‌شود: ساده، متوسط، پیچیده.

۱

شیءگرایی چه مسئله‌ای را حل کرد

قبل از آن چه بود و چه دردی داشت.

در نوبت نوشتن
۲

کپسوله‌سازی

حالت خصوصی، و اینکه چهار زبان چهار جور می‌گویند.

در نوبت نوشتن
۳

کلاس و شیء

سازنده، عضو نمونه‌ای و عضو ایستا.

در نوبت نوشتن
۴

وراثت

‏is-a، بازنویسی متد و مسئلهٔ کلاس پایهٔ شکننده.

در نوبت نوشتن
۵

چندریختی

‏static و dynamic، و duck typing در پایتون.

در نوبت نوشتن
۶

انتزاع و interface

‏abstract در برابر interface، در چهار زبان.

در نوبت نوشتن
۷

ترکیب در برابر وراثت

چرا ترکیب معمولاً جواب بهتری است.

در نوبت نوشتن
۸

‏SOLID در عمل

پنج اصل، با کد بد و کد اصلاح‌شده.

در نوبت نوشتن
۹

وابستگی و انسجام

معیار سنجش طراحی خوب.

در نوبت نوشتن
۱۰

الگوهای پایه

‏Strategy، Factory، Observer — در چهار زبان.

در نوبت نوشتن
۱۱

نوع‌دهی ایستا و پویا

اثرش بر طراحی شیءگرا.

در نوبت نوشتن
۱۲

تست کد شیءگرا

‏mock، stub و طراحی تست‌پذیر.

در نوبت نوشتن
۱۳

ضدالگوها

‏God object، وراثت عمیق و anemic model.

در نوبت نوشتن
۱۴

پروژهٔ ۱ — یک دامنه، چهار زبان

همان مدل را در هر چهار زبان پیاده کن.

در نوبت نوشتنپروژهٔ ساده
۱۵

پروژهٔ ۲ — بازطراحی با SOLID

کد بدبو را با اصول بازسازی کن.

در نوبت نوشتنپروژهٔ متوسط
۱۶

پروژهٔ ۳ — موتور افزونه‌پذیر

طراحی توسعه‌پذیر با interface و ترکیب.

در نوبت نوشتنپروژهٔ پیچیده