کتاب برنامهنویسی شیءگرا در دارت: اصول، الگوها و تمرینات عملی با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
برنامهنویسی شیءگرا در دارت: اصول، الگوها و تمرینات عملی آینده خود را امروز بسازید: دورهی جامع برنامهنویسی شیءگرا در دارت معرفی دوره: دریچهای نو به دنیای مدرن برنامهنویسی آیا به دنبال ابزاری قدرتم...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره برنامهنویسی شیءگرا در دارت: اصول، الگوها و تمرینات عملی
موضوع کلی: برنامه نویسی
موضوع میانی: دارت (Dart)
📋 سرفصلهای دوره
- 1. مقدمهای بر برنامهنویسی شیءگرا (OOP)
- 2. چرا دارت برای شیءگرایی؟
- 3. نصب و راهاندازی محیط توسعه دارت (SDK و VS Code)
- 4. ساختار یک برنامه دارت: تابع main و اولین برنامه
- 5. متغیرها و انواع دادههای پایه (Numbers, Strings, Booleans)
- 6. کلیدواژههای var, final و const و تفاوتهای آنها
- 7. مفهوم Null Safety: امنیت در برابر مقادیر پوچ
- 8. آشنایی با Null Safety: کلیدواژههای `?`، `!` و `late`
- 9. عملگرها در دارت (حسابی، رابطهای، منطقی)
- 10. ساختارهای کنترل جریان: دستورات if و else
- 11. ساختارهای کنترل جریان: دستور switch و case
- 12. کار با رشتهها (Strings) و درونیابی (Interpolation)
- 13. مجموعهها: معرفی لیستها (Lists)
- 14. عملیات پایه روی لیستها (افزودن، حذف، پیمایش)
- 15. مجموعهها: معرفی Setها و کاربرد آنها
- 16. مجموعهها: معرفی Mapها (کلید و مقدار)
- 17. حلقهها: حلقه for و for-in
- 18. حلقهها: حلقههای while و do-while
- 19. توابع: تعریف و فراخوانی توابع
- 20. پارامترهای توابع (Required, Optional Positional, Optional Named)
- 21. توابع بینام (Anonymous Functions) و Arrow Syntax
- 22. مقدمهای بر کلاسها و اشیاء (Classes and Objects)
- 23. تعریف اولین کلاس در دارت: فیلدها و متدها
- 24. ایجاد نمونه (Instance) از یک کلاس
- 25. سازندهها (Constructors): سازنده پیشفرض
- 26. سازندههای نامگذاری شده (Named Constructors)
- 27. کلیدواژه `this` و کاربرد آن
- 28. کپسولهسازی (Encapsulation): سطوح دسترسی و اعضای خصوصی (`_`)
- 29. Getters و Setters: کنترل دسترسی به فیلدها
- 30. وراثت (Inheritance): کلیدواژه `extends`
- 31. مفهوم کلاس والد (Superclass) و کلاس فرزند (Subclass)
- 32. کلیدواژه `super`: فراخوانی متدها و سازنده کلاس والد
- 33. بازنویسی متدها (Method Overriding) و حاشیهنویسی `@override`
- 34. چندریختی (Polymorphism): یک مفهوم، چندین شکل
- 35. کلاس Object و متدهای پیشفرض آن (`toString`, `hashCode`)
- 36. بازنویسی متد `toString` برای نمایش بهتر اشیاء
- 37. بررسی برابری اشیاء: بازنویسی عملگر `==` و `hashCode`
- 38. فیلدها و متدهای استاتیک (Static Members)
- 39. کاربرد اعضای استاتیک در طراحی
- 40. سازندههای ثابت (Const Constructors)
- 41. کلاسهای انتزاعی (Abstract Classes)
- 42. متدهای انتزاعی (Abstract Methods)
- 43. رابطها (Interfaces) در دارت: کلیدواژه `implements`
- 44. تفاوت بین `extends` و `implements`
- 45. میکسینها (Mixins): افزودن قابلیت به کلاسها با `with`
- 46. ایجاد و استفاده از یک Mixin ساده
- 47. حل مشکل وراثت چندگانه با Mixin
- 48. توابع توسعه (Extension Methods): افزودن متد به کلاسهای موجود
- 49. نوعداده شمارشی (Enums)
- 50. Enums پیشرفته در دارت مدرن
- 51. کلاسهای Generic: مفهوم و کاربرد
- 52. ایجاد یک کلاس Generic سفارشی
- 53. محدود کردن نوع در Genericها
- 54. مدیریت خطاها: بلوک `try-catch`
- 55. بلوک `on` برای مدیریت خطاهای خاص
- 56. کلیدواژه `finally` و کاربرد آن
- 57. پرتاب استثنا (Exceptions) با `throw`
- 58. ایجاد کلاسهای Exception سفارشی
- 59. برنامهنویسی ناهمگام (Asynchronous Programming): مقدمه
- 60. مفهوم Future و رویدادهای آینده
- 61. کلیدواژههای `async` و `await`
- 62. کار با Future API: متدهای `then` و `catchError`
- 63. استریمها (Streams): جریان دادههای ناهمگام
- 64. ایجاد و گوش دادن به یک Stream
- 65. کلیدواژههای `async*`, `yield` و `await for`
- 66. کلاسهای قابل فراخوانی (Callable Classes) با متد `call`
- 67. نماد آبشاری (Cascade Notation `..`) برای فراخوانیهای زنجیرهای
- 68. مقدمهای بر الگوهای طراحی (Design Patterns)
- 69. اصول SOLID: اصل مسئولیت واحد (Single Responsibility)
- 70. اصول SOLID: اصل باز-بسته (Open/Closed)
- 71. اصول SOLID: اصل جایگزینی لیسکوف (Liskov Substitution)
- 72. اصول SOLID: اصل تفکیک رابطها (Interface Segregation)
- 73. اصول SOLID: اصل وارونگی وابستگی (Dependency Inversion)
- 74. الگوی طراحی Singleton: تضمین وجود تنها یک نمونه
- 75. پیادهسازی الگوی Singleton در دارت
- 76. الگوی طراحی Factory Method: ایجاد اشیاء بدون مشخص کردن کلاس دقیق
- 77. پیادهسازی الگوی Factory Method
- 78. الگوی طراحی Builder: ساخت اشیاء پیچیده به صورت مرحلهای
- 79. پیادهسازی الگوی Builder در دارت
- 80. الگوی طراحی Observer: اطلاعرسانی خودکار به وابستهها
- 81. پیادهسازی الگوی Observer با StreamController
- 82. الگوی طراحی Adapter: تطبیق رابطهای ناسازگار
- 83. الگوی طراحی Decorator: افزودن مسئولیتهای جدید به صورت پویا
- 84. مقدمهای بر تستنویسی در دارت
- 85. نوشتن Unit Test برای کلاسها
- 86. پروژه عملی: تعریف مسئله (سیستم مدیریت کتابخانه ساده)
- 87. پروژه عملی: طراحی کلاسهای اصلی (Book, Member, Library)
- 88. پروژه عملی: پیادهسازی کلاس Book با سازندهها و متدها
- 89. پروژه عملی: پیادهسازی کلاس Member
- 90. پروژه عملی: پیادهسازی کلاس Library و مدیریت روابط
- 91. پروژه عملی: استفاده از وراثت (کتاب فیزیکی در مقابل کتاب الکترونیکی)
- 92. پروژه عملی: استفاده از Mixin برای لاگبرداری رویدادها
- 93. پروژه عملی: مدیریت خطاها و ورودیهای نامعتبر
- 94. پروژه عملی: نوشتن تست واحد برای کلاس Library
- 95. پروژه عملی: بازنگری و Refactoring کد
- 96. جمعبندی مفاهیم شیءگرایی و الگوهای آموختهشده
- 97. مسیرهای بعدی: شیءگرایی در فلاتر (Flutter)
- 98. **مدیریت خطاها و استثناها (Exceptions): try-catch-finally و Custom Exceptions**
- 99. **برنامهنویسی ناهمگام (Asynchronous Programming): Futureها، async و await**
- 100. **تستنویسی واحد (Unit Testing): اهمیت، ابزارها و پیادهسازی در دارت**
تگها:
Class
Dart
Dart programming
Dart tutorial
design patterns
Inheritance
Object
OOP
Polymorphism
Programming
SOLID
آموزش دارت
ارثبری
الگوهای طراحی
برنامه نویسی
برنامهنویسی شیءگرا
پلیمورفیسم
شیء
کلاس
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.