اپلیکیشن اندرویدی فلشکارت آموزشی برنامهنویسی شیءگرا: کلید توسعه نرمافزارهای قابل نگهداری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره برنامهنویسی شیءگرا: کلید توسعه نرمافزارهای قابل نگهداری
موضوع کلی: برنامه نویسی
موضوع میانی: برنامهنویسی شیءگرا (OOP)
📋 سرفصلهای دوره
- 1. مبانی برنامهنویسی و الگوریتمها
- 2. مقدمهای بر برنامهنویسی شیءگرا (OOP)
- 3. مزایای OOP نسبت به برنامهنویسی رویهای
- 4. مفاهیم اساسی OOP: کلاس و شیء
- 5. تعریف کلاس: ساختار و اجزا
- 6. ایجاد شیء: نمونهسازی از کلاس
- 7. ویژگیها (Attributes): تعریف و دسترسی
- 8. متدها (Methods): تعریف و کاربرد
- 9. سازندهها (Constructors): مقداردهی اولیه اشیا
- 10. نابودکنندهها (Destructors): مدیریت حافظه
- 11. کپسولهسازی (Encapsulation): پنهانسازی دادهها
- 12. کنترل دسترسی: public, private, protected
- 13. وراثت (Inheritance): ایجاد سلسله مراتب
- 14. ارثبری تک (Single Inheritance)
- 15. ارثبری چندگانه (Multiple Inheritance)
- 16. کلاس پایه (Base Class) و کلاس مشتقشده (Derived Class)
- 17. بازنویسی متد (Method Overriding)
- 18. متدهای مجازی (Virtual Methods)
- 19. چندریختی (Polymorphism): رفتار چندگانه
- 20. چندریختی در زمان کامپایل (Compile-time Polymorphism)
- 21. چندریختی در زمان اجرا (Runtime Polymorphism)
- 22. توابع سربارگذاری شده (Function Overloading)
- 23. عملگرهای سربارگذاری شده (Operator Overloading)
- 24. کلاسهای انتزاعی (Abstract Classes)
- 25. متدهای انتزاعی (Abstract Methods)
- 26. واسطها (Interfaces): تعریف و کاربرد
- 27. تفاوت بین کلاسهای انتزاعی و واسطها
- 28. ترکیب (Composition): ایجاد اشیاء از اشیاء دیگر
- 29. ارتباط بین اشیاء: Dependency و Association
- 30. Aggregiation و Composition: روابط قوی و ضعیف
- 31. طراحی کلاسها: اصول SOLID
- 32. اصل تک مسئولیتی (Single Responsibility Principle)
- 33. اصل باز/بسته (Open/Closed Principle)
- 34. اصل جانشینی لیسکوف (Liskov Substitution Principle)
- 35. اصل جداسازی واسط (Interface Segregation Principle)
- 36. اصل وارونگی وابستگی (Dependency Inversion Principle)
- 37. الگوهای طراحی (Design Patterns): معرفی
- 38. الگوی Singleton: ایجاد نمونه منحصر به فرد
- 39. الگوی Factory: ایجاد اشیاء بدون مشخص کردن کلاس دقیق
- 40. الگوی Abstract Factory: ایجاد خانوادهای از اشیاء مرتبط
- 41. الگوی Builder: ساخت اشیاء پیچیده به صورت مرحلهای
- 42. الگوی Prototype: ایجاد اشیاء با کپی کردن یک نمونه موجود
- 43. الگوی Adapter: تبدیل واسط یک کلاس به واسطی دیگر
- 44. الگوی Bridge: جدا کردن انتزاع از پیادهسازی
- 45. الگوی Composite: ترکیب اشیاء به صورت ساختار درختی
- 46. الگوی Decorator: افزودن رفتار جدید به اشیاء به صورت پویا
- 47. الگوی Facade: فراهم کردن واسط سادهتر برای یک سیستم پیچیده
- 48. الگوی Flyweight: اشتراکگذاری اشیاء با استفاده از حالت داخلی
- 49. الگوی Proxy: کنترل دسترسی به یک شیء
- 50. الگوی Chain of Responsibility: انتقال درخواست به زنجیرهای از اشیاء
- 51. الگوی Command: کپسوله کردن درخواست به عنوان یک شیء
- 52. الگوی Interpreter: تعریف یک نمایش گرامری برای یک زبان
- 53. الگوی Iterator: دسترسی ترتیبی به عناصر یک مجموعه
- 54. الگوی Mediator: تعریف شیئی که تعامل بین اشیاء را کپسوله میکند
- 55. الگوی Memento: ذخیره و بازیابی وضعیت داخلی یک شیء
- 56. الگوی Observer: اطلاعرسانی به اشیاء وابسته در صورت تغییر وضعیت
- 57. الگوی State: تغییر رفتار یک شیء بر اساس وضعیت داخلی آن
- 58. الگوی Strategy: تعریف الگوریتمها و انتخاب آنها در زمان اجرا
- 59. الگوی Template Method: تعریف چارچوبی برای یک الگوریتم
- 60. الگوی Visitor: افزودن عملیات جدید به عناصر یک ساختار داده
- 61. مدیریت استثنا (Exception Handling)
- 62. بلوکهای try-catch: رسیدگی به خطاها
- 63. انواع استثناها: تعریف و ایجاد
- 64. پرتاب استثناها (Throwing Exceptions)
- 65. مدیریت منابع (Resource Management): استفاده از finally
- 66. Garbage Collection: مدیریت خودکار حافظه
- 67. استفاده از Collections: List, Set, Map
- 68. Generics: کدنویسی با نوعهای پارامتری
- 69. Lambda Expressions: توابع بینام
- 70. Stream API: پردازش دادهها به صورت جریانی
- 71. برنامهنویسی همزمان (Concurrency): Threads و Processes
- 72. مدیریت Thread: ایجاد، شروع و توقف
- 73. Synchronization: جلوگیری از تداخل دادهها
- 74. Locks و Mutexes: کنترل دسترسی به منابع مشترک
- 75. Deadlock: جلوگیری و رفع آن
- 76. برنامهنویسی ناهمگام (Asynchronous Programming)
- 77. Async/Await: سادهسازی کد ناهمگام
- 78. Promises و Futures: مدیریت عملیات ناهمگام
- 79. Design Patterns در برنامهنویسی ناهمگام
- 80. تست واحد (Unit Testing): اصول و روشها
- 81. Frameworkهای تست: JUnit, NUnit, pytest
- 82. ایجاد Test Case: نوشتن تستهای کارآمد
- 83. Test Driven Development (TDD): توسعه بر اساس تست
- 84. Mocking: جایگزینی وابستگیها در تستها
- 85. Continuous Integration/Continuous Delivery (CI/CD)
- 86. Refactoring: بهبود کد بدون تغییر رفتار
- 87. اصول Refactoring: Clean Code و Code Smell
- 88. ابزارهای Refactoring: IDE و Plugins
- 89. تحلیل و طراحی شیءگرا (OOAD)
- 90. UML: زبان مدلسازی یکپارچه
- 91. Diagramهای UML: Class Diagram, Sequence Diagram, Use Case Diagram
- 92. فرآیند توسعه نرمافزار شیءگرا
- 93. مراحل تحلیل، طراحی، پیادهسازی و تست
- 94. ابزارهای CASE: پشتیبانی از فرآیند توسعه
- 95. مفاهیم پیشرفته OOP: Reflection و Metaprogramming
- 96. Serialization و Deserialization: ذخیره و بازیابی اشیاء
- 97. Dependency Injection (DI): مدیریت وابستگیها
- 98. Aspect-Oriented Programming (AOP)
- 99. Microservices Architecture: معماری سرویسهای کوچک
- 100. Object-Relational Mapping (ORM): ارتباط اشیاء با پایگاه داده
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.