الگوهای طراحی و کاربرد آنها با تزریق وابستگی
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- در پایان دوره، شما الگوهای طراحی مهم را درک خواهید کرد، قادر به کشف آنها، طبقهبندی آنها و پیادهسازی عملی آنها در کد خواهید بود.
- شما با اصول اولیه توسعه نرمافزار آشنا میشوید که راه را برای کدهای تمیز، منعطف و قابل نگهداری هموار میکند.
- شما میدانید که یک اپلیکیشن چگونه ساخته میشود و در چه نقطهای الگوهای طراحی به کد شما تزریق میشوند.
- اصطلاحات تزریق وابستگی Composition Root و Object Graph دیگر برای شما کلمات بیگانهای نخواهند بود.
پیش نیازهای دوره
- دانش اولیه از یک زبان برنامهنویسی شیءگرا، به عنوان مثال کلاسها، متدها
- اختیاری: Visual Studio 2022 برای اجرای مثالها و تمرینات
- تمرینات همچنین میتوانند در داخل دوره با استفاده از IDE داخلی یودمی بدون نیاز به Visual Studio انجام شوند.
توضیحات دوره
توجه: این دوره به زبان آلمانی نیز موجود است، عبارت "Entwurfsmuster und ihre Integration mit تزریق وابستگی" را جستجو کنید.
دورهای برای یادگیری الگوهای طراحی پرکاربرد
در این دوره، شما مبانی الگوهای طراحی مختلف و مهم توسعه نرمافزار را خواهید آموخت. مدرس به عمد تمام الگوهای طراحی ممکن را پوشش نمیدهد، بلکه تمرکز بر رایجترین الگوهایی است که توسعهدهندگان نرمافزار باید بدانند. سایر الگوها فراتر از دامنه و پیچیدگی این دوره هستند. این دوره همچنین بهطور فشرده به کاربرد عملی الگوها در ارتباط با تزریق وابستگی و اصول SOLID میپردازد تا «کد تمیز» تنها یک شعار توخالی باقی نماند.
الگوهای طراحی پوشش داده شده:
- Decorator
- Composite
- Proxy
- Strategy Pattern
- Strategy Proxy
- Adapter
- Null Object
مفاهیم پوشش داده شده:
- اصول SOLID
- تزریق وابستگی (تزریق سازنده)
- Composition Root (بوتاسترپینگ)
- Object Graph
- زنجیرهسازی و استفاده مجدد از الگوهای طراحی
گروه هدف
این دوره برای مبتدیان با دانش برنامهنویسی و برنامهنویسان/توسعهدهندگان پیشرفتهای هدفگذاری شده است که میخواهند ساختار نرمافزار شیءگرا را فراتر از پیادهسازی صرف توابع و الگوریتمها بیاموزند و همچنین خود را در زمینه طراحی/معماری ارتقا دهند. مفاهیم انتزاع و رابطها به اختصار در دوره معرفی میشوند، اما دانش قبلی از آنها درک مطالب را تسهیل میکند. پیشفرض دوره داشتن دانش اولیه از کلاسها و توابع است.
توسعهدهندگانی که هماکنون اپلیکیشنهای کامل را توسعه میدهند و میسازند، اما غالباً با مشکلاتی در زمینه نگهداری و انطباقپذیری کد خود مواجه میشوند نیز میتوانند از محتوای این دوره بهرهمند شوند. بهویژه، دانش ارائهشده درباره تزریق وابستگی و Composition Root میتواند بینشهای جدیدی در این زمینه فراهم کند.
مثالها و تمرینات به زبان #C نوشته شدهاند که یک زبان برنامهنویسی بسیار آسان برای درک است. مفاهیم پوشش داده شده مستقل از زبان هستند و کدها به راحتی به زبان برنامهنویسی (شیءگرا) شما قابل ترجمه هستند.
محتوای دوره
مقدمات نظری کوتاه با نمودارهای UML ساده - از طریق قیاسهایی از دنیای واقعی - به پیادهسازیهای عملی در کد منجر میشوند.
تمام الگوهای طراحی با استفاده از مثال "دوشاخه و پریز" توضیح داده میشوند. به این ترتیب، عملکرد، کاربرد و اهداف الگوها به شیوهای قابل درک در سطحی انتزاعی تشریح میشوند. تمرکز همیشه بر درک الگوها و همچنین پیادهسازی واقعی آنهاست. دروس نظری کوتاه با سادهترین نمودارهای UML همراه هستند.
ساختار دوره بر اساس تناوب موارد زیر است:
- محتوای ویدئویی که الگوهای طراحی را روی آبجکت های واقعی توضیح میدهد،
- ارائههایی که آنچه آموخته شده را بهصورت فشرده خلاصه میکنند،
- Screencastهایی که پیادهسازیها را در کد واقعی نشان میدهند،
- تمریناتی که میتوانند بهصورت مستقل حل شوند،
- آزمونهایی برای کنترل سریع آنچه آموخته شده، و
- یک آزمون نهایی با بیش از 35 سوال که کل دوره را پوشش میدهد.
تمام دانش درباره الگوهای طراحی بیفایده است اگر نتوانید آنها را بهدرستی در یک اپلیکیشن استفاده کنید. بنابراین، این دوره همچنین شامل مبانی اصول SOLID، و همچنین تزریق وابستگی و Composition Root به عنوان پایه طراحی شیءگرا است. با این مفاهیم ساده، الگوهای طراحی میتوانند بهگونهای در اپلیکیشنها ادغام شوند که قدرت واقعی خود را آزاد کنند: کد تطبیقپذیر، قابل نگهداری و قابل درک.
با تکیه بر این دانش، یک مثال کاربردی دنیای واقعی بررسی میشود: تکمیل سفارش در یک شرکت تجارت الکترونیک. شما با کاربردهای دنیای واقعی الگوهای طراحی و همچنین ادغام آنها در اپلیکیشن آشنا خواهید شد.
تمرینات
کل دوره با تمریناتی که به زبان #C نوشته شدهاند پشتیبانی میشود. شما تکالیفی برای پیادهسازی و بهکارگیری الگوهای طراحی دریافت خواهید کرد. تمرینات میتوانند به دو روش انجام شوند. یک روش، دسترسی مستقیم در دوره از طریق IDE ارائه شده توسط یودمی شامل تستهای کنترلی و راهحلها است. روش دیگر، استفاده از تمرینات موجود در پوشه پروژه برای نسخه رایگان Visual Studio 2022 Community Edition (یا بالاتر) است.
تمام کدها، چه مثالها و چه تمرینات، با تستهای واحد (Unit Tests) ارائه شدهاند. اگرچه در این دوره بهطور صریح درباره تستهای واحد بحث نمیشود، اما این تستها میتوانند به درک شما کمک کرده و شروعی برای توسعه مبتنی بر تست (TDD) باشند. خواهید دید که تست کردن پیادهسازیهای الگوهای طراحی چقدر آسان است.
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگان نرمافزار با مهارتهای مقدماتی که به کد تمیز، قابل نگهداری و منعطف علاقهمند هستند.
- برنامهنویسانی که میخواهند طراحی ساختاریافته یک اپلیکیشن را بیاموزند.
- مهندسان نرمافزار که میخواهند وابستگیهای اپلیکیشن خود را کاهش دهند.
- معماران نرمافزار که میخواهند مفاهیم تزریق وابستگی و Composition Root را درک کنند.
- توسعهدهندگان #C که میخواهند یاد بگیرند چگونه الگوهای طراحی را در زبان خود پیادهسازی کنند.
- مهندسان توسعه نرمافزار که میخواهند کد تمیز را سرلوحه کار خود قرار دهند.
الگوهای طراحی و کاربرد آنها با تزریق وابستگی
-
مقدمه 00:26
-
معرفی دوره - فرآیند و محتوا 00:46
-
مواد همراه / IDE و کد 00:45
-
تستهای واحد 00:22
-
تمرینات 00:38
-
معرفی کوتاه UML 05:36
-
مقدمهای بر SOLID 01:33
-
اصل تکوظیفهای (SRP) 00:48
-
اصل باز-بسته (OCP) 00:44
-
اصل جانشینی لیسکوف (LSP) 00:52
-
اصل تفکیک رابط (ISP) 00:52
-
اصل وارونگی وابستگی (DIP) 04:20
-
خلاصه SOLID 00:39
-
سایر اصول، بهجز SOLID 02:43
-
مقدمهای بر تزریق وابستگی 01:04
-
تئوری تزریق وابستگی 01:55
-
پیادهسازی در کد 03:09
-
آزمون: تزریق وابستگی None
-
مقدمهای بر Composition Root 01:40
-
تئوری Composition Root 01:30
-
پیادهسازی در کد 05:28
-
خلاصه Composition Root و تزریق وابستگی 00:14
-
آزمون None
-
الگوهای طراحی و ویژگیهای آنها 01:10
-
خلاصه الگوهای طراحی 00:29
-
آزمون: الگوهای طراحی None
-
توضیح مثال - درسهای بعدی بر اساس این مثال هستند 00:32
-
تئوری 01:38
-
پیادهسازی در کد 09:32
-
الگوی Decorator - مثال دنیای واقعی 03:53
-
تئوری Decorator 02:10
-
پیادهسازی در کد: کنتور برق 09:33
-
پیادهسازی در کد: چراغ خواب 08:37
-
تمرین 1: مقدمه 01:31
-
تمرین: نشانگر قدرت None
-
خلاصه 01:35
-
الگوی Composite - مثال دنیای واقعی 02:50
-
تئوری Composite 02:05
-
پیادهسازی در کد: چندراهی برق 10:24
-
خلاصه 01:49
-
آزمون: Composite None
-
الگوی Proxy - مثال دنیای واقعی 07:00
-
تئوری Proxy 07:08
-
پیادهسازی در کد: کلید روشن-خاموش 08:38
-
پیادهسازی در کد: دیمر 09:05
-
پیادهسازی در کد: سیستم صوتی 15:48
-
تمرین 2: مقدمه 01:07
-
تمرین: محدودکننده جریان ورودی None
-
خلاصه 00:12
-
الگوی Strategy - مثال دنیای واقعی 01:06
-
تئوری الگوی Strategy 04:00
-
آزمون: الگوی Strategy None
-
Strategy Proxy - مثال دنیای واقعی 03:41
-
تئوری Strategy Proxy 05:47
-
پیادهسازی در کد: سوئیچ پورت 08:57
-
خلاصه 01:22
-
آزمون: Strategy Proxy None
-
الگوی Adapter - مثال دنیای واقعی 04:18
-
تئوری Adapter 02:28
-
پیادهسازی در کد: آداپتور USB 14:39
-
تمرین 3: مقدمه 01:45
-
تمرین: آداپتور برق آمریکا None
-
خلاصه 01:05
-
الگوی Null Object - مثال دنیای واقعی 02:11
-
تئوری Null Object 00:55
-
پیادهسازی در کد: محافظ سوکت 07:49
-
خلاصه 02:06
-
آزمون: Null Object None
-
مثال دنیای واقعی 02:12
-
تئوری 00:55
-
پیادهسازی در کد: چندراهی برق با سوئیچ 09:12
-
تمرین 4: مقدمه 00:55
-
تمرین: چندراهی برق None
-
خلاصه 02:33
-
توضیح مثال - تکمیل سفارش در نرمافزار تجارت الکترونیک 01:17
-
توضیح مثال - پیادهسازی در کد 12:39
-
تئوری Payment Logging Decorator 00:56
-
Payment Logging Decorator - پیادهسازی در کد 08:17
-
تئوری Notification Null Object 00:45
-
Notification Null Object - پیادهسازی در کد 05:20
-
تئوری Notification Composite 01:12
-
Notification Composite - پیادهسازی در کد 08:00
-
تئوری Payment Adapter 01:23
-
Payment Adapter - پیادهسازی در کد 07:52
-
تئوری Shipping Strategy Proxy 01:55
-
Shipping Strategy Proxy - پیادهسازی در کد 15:48
-
تئوری Fulfillment Protection Proxy 01:43
-
Fulfillment Protection Proxy - پیادهسازی در کد 07:25
-
آزمون نهایی: الگوهای طراحی و ادغام آنها در اپلیکیشنها None
-
سوالات متداول (FAQs) 03:17
-
مطالعه پیشنهادی 00:37
-
پذیرش 00:36
مشخصات آموزش
الگوهای طراحی و کاربرد آنها با تزریق وابستگی
- تاریخ به روز رسانی: 1404/10/04
- سطح دوره:همه سطوح
- تعداد درس:92
- مدت زمان :04:59:48
- حجم :3.06GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy