کتاب صوتی مهندسی نرمافزار با SOLID: از تئوری تا کدنویسی حرفهای
مهندسی نرمافزار با SOLID: از تئوری تا کدنویسی حرفهای مهندسی نرمافزار با SOLID: از تئوری تا کدنویسی حرفهای آیا میخواهید کدهای تمیزتر، پایدارتر و مقیاسپذیرتری بنویسید؟ آیا میخواهید به یک برنامهن...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره مهندسی نرمافزار با SOLID: از تئوری تا کدنویسی حرفهای
موضوع کلی: برنامه نویسی
موضوع میانی: اصول SOLID
📋 سرفصلهای دوره
- 1. مقدمهای بر مهندسی نرمافزار و اصول طراحی
- 2. چرا به اصول طراحی نرمافزار نیاز داریم؟
- 3. مفهوم بدهی فنی (Technical Debt) و راههای مقابله با آن
- 4. مروری سریع بر اصول برنامهنویسی شیءگرا (OOP): کپسولهسازی
- 5. مروری سریع بر اصول برنامهنویسی شیءگرا (OOP): وراثت
- 6. مروری سریع بر اصول برنامهنویسی شیءگرا (OOP): چندریختی (Polymorphism)
- 7. مروری سریع بر اصول برنامهنویسی شیءگرا (OOP): انتزاع (Abstraction)
- 8. مفاهیم کلیدی: پیوستگی (Cohesion) چیست؟
- 9. مفاهیم کلیدی: وابستگی (Coupling) چیست؟
- 10. ارتباط بین پیوستگی بالا و وابستگی پایین
- 11. معرفی اجمالی اصول SOLID و تاریخچه آن
- 12. SOLID به عنوان نقشه راه برای کدی تمیز و قابل نگهداری
- 13. نقش SOLID در کاهش پیچیدگی نرمافزار
- 14. آمادهسازی محیط کدنویسی برای تمرینهای دوره
- 15. آشنایی با پروژه نمونه: یک سیستم ناکارآمد برای ریفکتورینگ
- 16. بخش اول: اصل تک مسئولیتی (Single Responsibility Principle - SRP)**
- 17. تعریف دقیق اصل تک مسئولیتی (SRP)
- 18. "مسئولیت" واقعاً به چه معناست؟ مفهوم "Actor"
- 19. مثالهای نقض SRP: کلاس همهکاره (God Class)
- 20. بوی کد (Code Smell): ترکیب منطق کسبوکار با منطق نمایش
- 21. بوی کد: کلاسی با دلایل متعدد برای تغییر
- 22. پیادهسازی SRP: شناسایی مسئولیتهای جداگانه
- 23. تکنیک ریفکتورینگ: استخراج کلاس (Extract Class)
- 24. تکنیک ریفکتورینگ: استخراج متد (Extract Method)
- 25. کارگاه عملی: ریفکتورینگ یک کلاس کنترلر بزرگ
- 26. کارگاه عملی: جداسازی منطق اعتبارسنجی از مدل داده
- 27. SRP در سطح متدها و توابع
- 28. SRP در سطح ماژولها و کامپوننتها
- 29. مزایای SRP: افزایش خوانایی و قابلیت تست
- 30. معایب و تلههای SRP: تقسیمبندی بیش از حد (Over-engineering)
- 31. جمعبندی اصل تک مسئولیتی
- 32. بخش دوم: اصل باز/بسته (Open/Closed Principle - OCP)**
- 33. تعریف دقیق اصل باز/بسته (OCP)
- 34. مفهوم "باز برای توسعه" و "بسته برای تغییر"
- 35. نقش کلیدی انتزاع (Abstraction) در پیادهسازی OCP
- 36. مثالهای نقض OCP: استفاده از if/else و switch برای انواع مختلف
- 37. بوی کد: تغییر کد موجود برای افزودن یک قابلیت جدید
- 38. استفاده از وراثت برای پیادهسازی OCP
- 39. استفاده از اینترفیسها و ترکیب (Composition) برای پیادهسازی OCP
- 40. الگوی طراحی استراتژی (Strategy Pattern) به عنوان راهکار OCP
- 41. الگوی طراحی متد قالب (Template Method Pattern)
- 42. کارگاه عملی: ریفکتورینگ یک سیستم پردازش پرداخت با OCP
- 43. کارگاه عملی: ساخت یک سیستم گزارشگیری قابل توسعه
- 44. OCP و معماری پلاگین (Plugin Architecture)
- 45. مزایای OCP: افزایش انعطافپذیری و کاهش ریسک خطا
- 46. هزینههای پیادهسازی OCP: پیچیدگی اولیه
- 47. جمعبندی اصل باز/بسته
- 48. بخش سوم: اصل جایگزینی لیسکوف (Liskov Substitution Principle - LSP)**
- 49. تعریف دقیق اصل جایگزینی لیسکوف (LSP)
- 50. اهمیت رفتار مورد انتظار و قراردادهای ضمنی
- 51. مثال نقض کلاسیک: مشکل مربع و مستطیل
- 52. بوی کد: بررسی نوع کلاس فرزند (instanceof) در کد
- 53. بوی کد: متدهایی در کلاس فرزند که کاری انجام نمیدهند یا خطا پرتاب میکنند
- 54. قوانین LSP: تقویت پسشرطها (Postconditions)
- 55. قوانین LSP: تضعیف پیششرطها (Preconditions)
- 56. تکنیکهای ریفکتورینگ برای اصلاح نقض LSP
- 57. جایگزینی وراثت با ترکیب (Composition) برای حل مشکلات LSP
- 58. کارگاه عملی: ریفکتورینگ سلسلهمراتب کلاسهای پرندگان
- 59. کارگاه عملی: مدیریت کاربران با سطوح دسترسی مختلف بدون نقض LSP
- 60. LSP و ارتباط آن با چندریختی (Polymorphism)
- 61. تأثیر LSP بر قابلیت اطمینان سیستم
- 62. طراحی بر اساس قرارداد (Design by Contract) و ارتباط آن با LSP
- 63. جمعبندی اصل جایگزینی لیسکوف
- 64. بخش چهارم: اصل تفکیک اینترفیس (Interface Segregation Principle - ISP)**
- 65. تعریف دقیق اصل تفکیک اینترفیس (ISP)
- 66. مشکل اینترفیسهای بزرگ و سنگین (Fat Interfaces)
- 67. مثالهای نقض ISP: کلاسی که مجبور به پیادهسازی متدهای بیاستفاده است
- 68. بوی کد: پرتاب خطای NotImplementedException در متدهای اینترفیس
- 69. تکنیک ریفکتورینگ: شکستن اینترفیسهای بزرگ به اینترفیسهای کوچکتر و خاص
- 70. اینترفیسهای مبتنی بر نقش (Role-based Interfaces)
- 71. کارگاه عملی: ریفکتورینگ اینترفیس "IWorker" برای رباتها و انسانها
- 72. کارگاه عملی: طراحی اینترفیسهای یک سیستم مدیریت اسناد
- 73. ISP و تأثیر آن بر قابلیت تست و Mocking
- 74. ارتباط بین ISP و اصل تک مسئولیتی (SRP)
- 75. ISP در طراحی API و کتابخانهها
- 76. مزایای ISP: کاهش وابستگیهای ناخواسته
- 77. معماری ماژولار با استفاده از ISP
- 78. آیا تفکیک بیش از حد اینترفیسها ممکن است؟
- 79. جمعبندی اصل تفکیک اینترفیس
- 80. بخش پنجم: اصل وارونگی وابستگی (Dependency Inversion Principle - DIP)**
- 81. تعریف دقیق اصل وارونگی وابستگی (DIP)
- 82. "ماژولهای سطح بالا نباید به ماژولهای سطح پایین وابسته باشند"
- 83. نقش حیاتی انتزاع در وارونگی وابستگی
- 84. مفهوم وارونگی کنترل (Inversion of Control - IoC)
- 85. الگوی تزریق وابستگی (Dependency Injection - DI)
- 86. انواع تزریق وابستگی: Constructor, Setter, Interface Injection
- 87. مثالهای نقض DIP: استفاده مستقیم از کلمه کلیدی `new` برای ساخت وابستگیها
- 88. تکنیک ریفکتورینگ: معرفی اینترفیس برای شکستن وابستگی مستقیم
- 89. کارگاه عملی: ریفکتورینگ یک سرویس برای جدا شدن از پایگاه داده مشخص
- 90. استفاده از کانتینرهای IoC/DI (DI Containers)
- 91. اصل هالیوود: "ما با شما تماس میگیریم، شما با ما تماس نگیرید"
- 92. مزایای DIP: افزایش شدید قابلیت تستپذیری و ماژولار بودن
- 93. DIP به عنوان پایه و اساس معماری تمیز (Clean Architecture)
- 94. DIP و ایجاد مرزهای معماری (Architectural Boundaries)
- 95. جمعبندی اصل وارونگی وابستگی
- 96. بخش ششم: جمعبندی و مباحث پیشرفته**
- 97. همافزایی اصول SOLID: چگونه این اصول یکدیگر را تکمیل میکنند
- 98. مطالعه موردی جامع: ریفکتورینگ کامل یک پروژه با استفاده از تمام اصول SOLID
- 99. SOLID در مقابل اصول دیگر: DRY, KISS, YAGNI
- 100. تأثیر SOLID بر چرخه عمر توسعه نرمافزار (SDLC)
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
آموزش آنلاین
اصول SOLID
برنامه نویسی
دوره آموزشی
مهندسی نرمافزار با SOLID: از تئوری تا کدنویسی حرفهای
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.