اپلیکیشن اندرویدی فلشکارت آموزشی برنامهنویسی شیءگرا: کلید توسعه نرمافزارهای مقیاسپذیر، کارآمد و قابل نگهداری در دنیای واقعی
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره برنامهنویسی شیءگرا: کلید توسعه نرمافزارهای مقیاسپذیر، کارآمد و قابل نگهداری در دنیای واقعی
موضوع کلی: برنامه نویسی
موضوع میانی: برنامهنویسی شیءگرا (OOP)
📋 سرفصلهای دوره
- 1. مقدمهای بر پارادایمهای برنامهنویسی
- 2. برنامهنویسی رویهای و محدودیتهای آن
- 3. تغییر نگرش: معرفی برنامهنویسی شیءگرا (OOP)
- 4. مفهوم شیء (Object): وضعیت (State) و رفتار (Behavior)
- 5. مفهوم کلاس (Class): طرح اولیه یا نقشه اشیاء
- 6. ویژگیها (Attributes) و متدها (Methods)
- 7. نمونهسازی (Instantiation): خلق یک شیء از روی کلاس
- 8. چهار ستون اصلی شیءگرایی: یک نمای کلی
- 9. مزایای OOP: قابلیت استفاده مجدد، نگهداری و مقیاسپذیری
- 10. اولین برنامه شیءگرا: "سلام، دنیای شیءگرا!"
- 11. کپسولهسازی (Encapsulation): پنهانسازی پیچیدگی
- 12. سطوح دسترسی: Public, Private, Protected
- 13. مخفیسازی داده (Data Hiding)
- 14. متدهای Getter و Setter (Accessors & Mutators)
- 15. اهمیت تعریف یک رابط عمومی (Public Interface)
- 16. سازندهها (Constructors): مقداردهی اولیه اشیاء
- 17. سازنده پیشفرض (Default Constructor)
- 18. سازندههای پارامتردار (Parameterized Constructors)
- 19. سربارگذاری سازندهها (Constructor Overloading)
- 20. کلمه کلیدی this (یا self) برای ارجاع به شیء فعلی
- 21. وراثت (Inheritance): ایجاد روابط "is-a"
- 22. کلاس والد (Superclass) و کلاس فرزند (Subclass)
- 23. استفاده مجدد از کد از طریق وراثت
- 24. کلمه کلیدی extends (یا معادل آن در زبانهای مختلف)
- 25. بازنویسی متدها (Method Overriding)
- 26. حاشیه نویسی @Override (یا معادل آن)
- 27. فراخوانی متدهای کلاس والد با کلمه کلیدی super
- 28. استفاده از super در سازندههای کلاس فرزند
- 29. نقش سطح دسترسی Protected در وراثت
- 30. وراثت تکی (Single Inheritance)
- 31. وراثت چند سطحی (Multilevel Inheritance)
- 32. وراثت سلسله مراتبی (Hierarchical Inheritance)
- 33. مشکل وراثت چندگانه: مسئله الماس (The Diamond Problem)
- 34. متدهای نهایی (Final Methods): جلوگیری از بازنویسی
- 35. کلاسهای نهایی (Final Classes): جلوگیری از وراثت
- 36. چندریختی (Polymorphism): یک رابط، چندین پیادهسازی
- 37. چندریختی ایستا (زمان کامپایل): سربارگذاری متدها
- 38. قوانین و تفاوتهای سربارگذاری (Overloading) و بازنویسی (Overriding)
- 39. چندریختی پویا (زمان اجرا): اتصال دیرهنگام (Late Binding)
- 40. ارسال دینامیک متد (Dynamic Method Dispatch)
- 41. Upcasting: تبدیل نوع فرزند به والد
- 42. قدرت Upcasting در آرایهها و پارامترهای متد
- 43. Downcasting: تبدیل نوع والد به فرزند
- 44. بررسی نوع شیء با عملگر instanceof
- 45. خطر استثناء ClassCastException در Downcasting
- 46. انواع بازگشتی هممتغیر (Covariant Return Types)
- 47. Polymorphism در عمل: پیادهسازی یک سیستم انعطافپذیر
- 48. انتزاع (Abstraction): تمرکز بر موارد ضروری
- 49. کلاسهای انتزاعی (Abstract Classes)
- 50. متدهای انتزاعی (Abstract Methods)
- 51. قوانین استفاده از کلاسها و متدهای انتزاعی
- 52. چه زمانی از یک کلاس انتزاعی استفاده کنیم؟
- 53. رابطها (Interfaces): انتزاع محض
- 54. تعریف و پیادهسازی رابطها
- 55. تفاوتهای کلیدی بین کلاسهای انتزاعی و رابطها
- 56. متدهای پیشفرض و استاتیک در رابطها (ویژگیهای مدرن)
- 57. Marker Interfaces: رابطهای نشانگر
- 58. مفاهیم پیشرفته و روابط بین کلاسها
- 59. رابطه وابستگی (Association)
- 60. رابطه تجمیع (Aggregation): رابطه "has-a" ضعیف
- 61. رابطه ترکیب (Composition): رابطه "has-a" قوی
- 62. تفاوت Aggregation و Composition با مثالهای واقعی
- 63. اعضای استاتیک (Static): متغیرها و متدهای کلاس
- 64. کلمه کلیدی static و کاربردهای آن
- 65. بلوکهای مقداردهی اولیه استاتیک
- 66. کلاسهای داخلی (Inner Classes)
- 67. کلاسهای داخلی محلی (Local Inner Classes)
- 68. کلاسهای بینام (Anonymous Classes)
- 69. کاربرد کلاسهای بینام در مدیریت رویدادها
- 70. شمارشها (Enums) به عنوان کلاسهای خاص
- 71. مقدمهای بر Generic ها: ایجاد کلاسها و متدهای امن از نظر نوع
- 72. اصول طراحی نرمافزار شیءگرا (SOLID)
- 73. مقدمهای بر اصول طراحی و اهمیت آنها
- 74. اصل DRY: خودت را تکرار نکن (Don't Repeat Yourself)
- 75. اصل KISS: ساده نگهشدار (Keep It Simple, Stupid)
- 76. مقدمهای بر اصول SOLID
- 77. اصل تک مسئولیتی (Single Responsibility Principle - SRP)
- 78. اصل باز/بسته (Open/Closed Principle - OCP)
- 79. اصل جایگزینی لیسکوف (Liskov Substitution Principle - LSP)
- 80. اصل تفکیک رابطها (Interface Segregation Principle - ISP)
- 81. اصل وارونگی وابستگی (Dependency Inversion Principle - DIP)
- 82. وارونگی کنترل (Inversion of Control - IoC)
- 83. تزریق وابستگی (Dependency Injection - DI)
- 84. قانون دیمیتر (Law of Demeter)
- 85. انسجام (Cohesion): تلاش برای انسجام بالا
- 86. وابستگی (Coupling): تلاش برای وابستگی کم
- 87. الگوهای طراحی (Design Patterns) و کاربردهای واقعی
- 88. الگوهای طراحی چیستند؟ راهحلهای اثبات شده
- 89. دستهبندی الگوهای طراحی: ایجادی، ساختاری، رفتاری
- 90. الگوی ایجادی: Factory Method
- 91. الگوی ایجادی: Singleton
- 92. الگوی ساختاری: Adapter
- 93. الگوی ساختاری: Decorator
- 94. الگوی رفتاری: Strategy
- 95. الگوی رفتاری: Observer
- 96. کلاس Object: ریشه تمام کلاسها
- 97. بازنویسی متدهای equals() و hashCode()
- 98. بازنویسی متد toString() برای نمایش معنادار اشیاء
- 99. بازآرایی (Refactoring) کد به سمت طراحی شیءگرای بهتر
- 100. جمعبندی: شیءگرایی کلید توسعه نرمافزارهای پایدار
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.