دوره آموزشی مبانی برنامه نویسی: طراحی شی گرا

دوره آموزشی مبانی برنامه نویسی: طراحی شی گرا

⏱️ 2 ساعت 41 دقیقه📈 مبتدی📅 2024-12-09

مدرسین

Barron Stone

Barron Stone

Electrical Engineer

Olivia Chiu Stone

Olivia Chiu Stone

Programmer, Engineer

جزئیات دوره

تمام نرم‌افزارهای خوب با طراحی عالی شروع می‌شوند. طراحی شیءگرا (Object-Oriented Design) به توسعه‌دهندگان کمک می‌کند تا برنامه‌ها را قبل از نوشتن حتی یک خط کد برنامه‌ریزی کرده و ایده‌ها را به اجزای قابل استفاده مجدد و قابل نگهداری تجزیه کنند. این دوره بر روی مفاهیم بنیادی تمرکز دارد و آن‌ها را به شیوه‌ای سرگرم‌کننده و تعاملی آموزش می‌دهد تا به سرعت مهارت‌های شما توسعه یابد. اولیویا و بارون استون، مدرسین دوره، مفاهیم و اصطلاحات مورد نیاز برای شروع، مانند اشیاء، کلاس‌ها، انتزاع، ارث‌بری و موارد دیگر را معرفی می‌کنند. سپس نحوه تحلیل نیازمندی‌های یک برنامه، شناسایی موارد کاربرد (Use Cases) و طراحی کلاس‌ها را با استفاده از Universal Modeling Language (UML) آموزش می‌دهند. طرح نهایی می‌تواند به کد در یکی از زبان‌های محبوب برنامه‌نویسی شیءگرا مانند Java، C#، Ruby یا Python تبدیل شود.
اهداف آموزشی: مبانی طراحی شیءگرا: آشنایی با مفاهیمی همچون اشیاء، کلاس‌ها و موارد دیگر. کپسوله‌سازی (Encapsulation): نحوه محافظت از داده‌ها و کاهش وابستگی‌های خارجی. ارث‌بری (Inheritance): استفاده از قابلیت‌های کلاس‌های پایه در کلاس‌های مشتق. تعریف نیازمندی‌ها: تحلیل دقیق الزامات برای طراحی صحیح. شناسایی موارد کاربرد، بازیگران و سناریوها: درک نقش کاربران و تعاملات سیستم. مدل‌سازی دامنه (Domain Modeling): سازمان‌دهی مفاهیم کلیدی دامنه مسئله. شناسایی مسئولیت‌ها و روابط کلاس‌ها: تقسیم کارها و تعیین ارتباط بین اجزا. ایجاد نمودارهای کلاس (Class Diagrams): نمایش ساختار برنامه با استفاده از UML. کار با کلاس‌های انتزاعی (Abstract Classes): تعریف مفاهیم مشترک برای کلاس‌های مرتبط. توسعه نرم‌افزار با اصول طراحی شیءگرا: به‌کارگیری طراحی برای کدنویسی مؤثر و مقیاس‌پذیر.

مهارت ها

Object-Oriented ProgrammingSoftware DesignPythonFoundationsOpen SourceSoftware Development

سرفصل ها

0. مقدمه

  • 01 - اصول طراحی شی‌گرا را بیاموزید
  • 02 - آنچه باید بدانید

1. مبانی شی گرا

  • 03 - تفکر شی گرا
  • 04 - اشیاء
  • 05 - کلاس ها
  • 06 - انتزاع
  • 07 - کپسولاسیون
  • 08 - ارث
  • 09 - چند شکلی
  • 10 - تحلیل، طراحی و برنامه نویسی
  • 11 - زبان مدلسازی یکپارچه (UML)

2. الزامات

  • 12 - تعریف الزامات
  • 13 - الزامات FURPS+
  • 14 - چالش - الزامات جوک باکس
  • 15 - راه حل - الزامات جوک باکس

3. Use Cases و User Stories

  • 16 - موارد استفاده
  • 17 - شناسایی بازیگران
  • 18 - شناسایی سناریوها
  • 19 - موارد استفاده از نمودار
  • 20 - داستان‌های کاربر
  • 21 - چالش - موارد استفاده جوک باکس
  • 22 - راه حل - موارد استفاده جوک باکس

4. مدل سازی دامنه

  • 23 - شناسایی اشیاء
  • 24 - شناسایی روابط طبقاتی
  • 25 - شناسایی مسئولیت‌های طبقاتی
  • 26 - کارت‌های CRC
  • 27 - چالش - مدل مفهومی جوک باکس
  • 28 - راه حل - مدل مفهومی جوک باکس

5. نمودارهای کلاس

  • 29 - ایجاد نمودارهای کلاس - ویژگی ها
  • 30 - ایجاد نمودارهای کلاسی - رفتارها
  • 31 - تبدیل نمودارهای کلاس به کد
  • 32 - کلاسهای نمونه
  • 33 - کلاس با سازنده‌های متعدد
  • 34 - صفات و روشهای ایستا
  • 35 - چالش - نمودارهای کلاس جوک باکس
  • 36 - حل - نمودارهای کلاس جوک باکس

6. ارث و ترکیب

  • 37 - شناسایی حالات ارثی
  • 38 - استفاده از ارث
  • 39 - کلاسهای انتزاعی و ملموس
  • 40 - رابط ها
  • 41 - تجمیع
  • 42 - ترکیب
  • 43 - چالش - روابط کلاسی جوک باکس
  • 44 - راه حل - روابط کلاسی جوک باکس

7. توسعه نرم افزار

  • 45 - پشتیبانی OOP به زبان‌های مختلف
  • 46 - اصول کلی توسعه
  • 47 - تست نرم افزار
  • 48 - الگوهای طراحی

واژه نامه ها

نتیجه گیری

  • 49 - مراحل بعدی

مشاهده دوره کامل

رفتن به دوره