اپلیکیشن اندرویدی فلشکارت آموزشی برنامهنویسی شیءگرا: راهنمای گام به گام برای درک عمیق مفاهیم OOP، الگوهای طراحی، معماری نرمافزار و اصول طراحی تمیز
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره برنامهنویسی شیءگرا: راهنمای گام به گام برای درک عمیق مفاهیم OOP، الگوهای طراحی، معماری نرمافزار و اصول طراحی تمیز
موضوع کلی: برنامه نویسی
موضوع میانی: برنامهنویسی شیءگرا (OOP)
📋 سرفصلهای دوره
- 1. مقدمهای بر حل مسئله و الگوریتمها
- 2. متغیرها، انواع داده و عملگرها
- 3. ساختارهای کنترل جریان: دستورات شرطی
- 4. ساختارهای کنترل جریان: حلقهها
- 5. توابع و متدها: ساختار و کاربرد
- 6. مفهوم Scope: متغیرهای محلی و سراسری
- 7. ساختارهای داده پایه: آرایهها و لیستها
- 8. محدودیتهای برنامهنویسی رویهای
- 9. تغییر پارادایم: از رویهای به شیءگرایی
- 10. تفکر شیءگرا: دنیا را به شکل اشیاء ببینیم
- 11. شیء (Object) چیست؟ وضعیت (State) و رفتار (Behavior)
- 12. کلاس (Class) چیست؟ طرح اولیه ساخت اشیاء
- 13. اولین کلاس و شیء: فرآیند نمونهسازی (Instantiation)
- 14. فیلدها (Fields) و متدها (Methods): اجزای یک کلاس
- 15. سازندهها (Constructors): مقداردهی اولیه اشیاء
- 16. انواع سازندهها: پیشفرض و پارامتردار
- 17. کلمه کلیدی `this`: ارجاع به نمونه فعلی
- 18. سطوح دسترسی: public, private, protected
- 19. کپسولهسازی (Encapsulation): اولین ستون شیءگرایی
- 20. Getters و Setters: دروازههای کنترل داده
- 21. پنهانسازی داده (Data Hiding) و اهمیت آن
- 22. تفاوت عمیق بین کلاس و شیء
- 23. اعضای استاتیک: فیلدها و متدهای Static
- 24. مفهوم `null` و مدیریت اشیاء تهی
- 25. چرخه حیات شیء و زبالهروب (Garbage Collection)
- 26. وراثت (Inheritance): دومین ستون شیءگرایی
- 27. کلاس والد (Superclass) و کلاس فرزند (Subclass)
- 28. ایجاد رابطه وراثت با `extends`
- 29. بازنویسی متد (Method Overriding)
- 30. کاربرد `@Override` برای اطمینان از صحت بازنویسی
- 31. کلمه کلیدی `super`: فراخوانی اعضای کلاس والد
- 32. جلوگیری از وراثت: کلاسهای `final`
- 33. جلوگیری از بازنویسی: متدهای `final`
- 34. انواع وراثت: تکسطحی و چندسطحی
- 35. مشکل الماس (The Diamond Problem) و وراثت چندگانه
- 36. چندریختی (Polymorphism): سومین ستون شیءگرایی
- 37. چندریختی زمان کامپایل در مقابل زمان اجرا
- 38. سربارگذاری متد (Method Overloading)
- 39. ارتباط چندریختی زمان اجرا با بازنویسی متد
- 40. Upcasting و Downcasting: تبدیل نوع اشیاء
- 41. بررسی نوع شیء با عملگر `instanceof`
- 42. انتزاع (Abstraction): چهارمین ستون شیءگرایی
- 43. کلاسهای انتزاعی (Abstract Classes)
- 44. متدهای انتزاعی (Abstract Methods)
- 45. اینترفیسها (Interfaces): انتزاع محض
- 46. پیادهسازی چندین اینترفیس
- 47. مقایسه کلاسهای انتزاعی و اینترفیسها
- 48. ترکیب (Composition): رابطه "دارای یک" (Has-A)
- 49. تجمیع (Aggregation): شکل ضعیفتری از Composition
- 50. وراثت یا ترکیب؟ تصمیم حیاتی در طراحی
- 51. اصل "ترکیب را به وراثت ترجیح بده"
- 52. کلاسهای داخلی (Inner Classes)
- 53. کلاسهای داخلی بینام (Anonymous Inner Classes)
- 54. انواع شمارشی (Enums) و کاربردهای آن
- 55. مقدمهای بر Generic ها: کدنویسی امن از نظر نوع
- 56. کلاسها و متدهای Generic
- 57. مدیریت خطاها (Exception Handling): بلوک try-catch-finally
- 58. ساخت استثناهای سفارشی (Custom Exceptions)
- 59. استثناهای Checked در مقابل Unchecked
- 60. مفهوم برابری اشیاء: پیادهسازی متد `equals()`
- 61. هش کردن اشیاء: پیادهسازی متد `hashCode()`
- 62. قرارداد بین `equals()` و `hashCode()`
- 63. مقدمهای بر اصول طراحی نرمافزار (SOLID)
- 64. بوی بد کد (Code Smells): شناسایی طراحی ضعیف
- 65. بازآرایی کد (Refactoring): بهبود طراحی کد موجود
- 66. اصل تک مسئولیتی (Single Responsibility Principle - SRP)
- 67. کاربرد عملی SRP: تفکیک مسئولیتها
- 68. اصل باز-بسته (Open/Closed Principle - OCP)
- 69. کاربرد عملی OCP: گسترش پذیری بدون تغییر کد
- 70. اصل جایگزینی لیسکوف (Liskov Substitution Principle - LSP)
- 71. کاربرد عملی LSP: اطمینان از قابلیت جایگزینی فرزندان
- 72. اصل تفکیک اینترفیس (Interface Segregation Principle - ISP)
- 73. کاربرد عملی ISP: طراحی اینترفیسهای کوچک و متمرکز
- 74. اصل وارونگی وابستگی (Dependency Inversion Principle - DIP)
- 75. کاربرد عملی DIP: کنترل وارونگی (IoC) و تزریق وابستگی (DI)
- 76. مفاهیم Coupling و Cohesion در طراحی شیءگرا
- 77. الگوهای طراحی (Design Patterns) چیستند؟
- 78. دستهبندی الگوهای طراحی: ایجادی، ساختاری، رفتاری
- 79. الگوی ایجادی: Singleton
- 80. الگوی ایجادی: Factory Method
- 81. الگوی ایجادی: Abstract Factory
- 82. الگوی ایجادی: Builder
- 83. الگوی ساختاری: Adapter
- 84. الگوی ساختاری: Decorator
- 85. الگوی ساختاری: Facade
- 86. الگوی ساختاری: Composite
- 87. الگوی رفتاری: Strategy
- 88. الگوی رفتاری: Observer
- 89. الگوی رفتاری: Command
- 90. الگوی رفتاری: Template Method
- 91. مقدمهای بر معماری نرمافزار
- 92. معماری یکپارچه (Monolithic) و ساختار شیءگرای آن
- 93. معماری لایهای (Layered Architecture) و تفکیک دغدغهها
- 94. معماری مدل-نما-کنترلگر (MVC)
- 95. نقش اشیاء در معماری MVC
- 96. معماری میکروسرویس (Microservices) و ارتباط آن با OOP
- 97. طراحی دامنه-محور (Domain-Driven Design - DDD)
- 98. نگاشت شیء-رابطهای (Object-Relational Mapping - ORM)
- 99. تست واحد (Unit Testing) در کدهای شیءگرا
- 100. جمعبندی: پیادهسازی یک پروژه کامل با مفاهیم OOP
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.