کتاب برنامهنویسی شیءگرا: کلید توسعه نرمافزارهای قابل نگهداری با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
برنامهنویسی شیءگرا: کلید توسعه نرمافزارهای قابل نگهداری برنامهنویسی شیءگرا: کلید توسعه نرمافزارهای قابل نگهداری معرفی دوره: دروازهای به دنیای حرفهای برنامهنویسی آیا تا به حال با خود فکر کردهای...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره برنامهنویسی شیءگرا: کلید توسعه نرمافزارهای قابل نگهداری
موضوع کلی: برنامه نویسی
موضوع میانی: برنامهنویسی شیءگرا (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): ارتباط اشیاء با پایگاه داده
تگها:
Inheritance
Maintainability
Object
Object Oriented Programming
OOP
Polymorphism
Software Development
ارث بری
برنامه نویسی
برنامه نویسی شی گرا
توسعه نرم افزار
چندشکلی
شی گرایی
کدنویسی
کلاس
نگهداری پذیری
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.