دوره Flutter و Dart: اصول SOLID و برترین الگوهای طراحی
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- مهمترین و اساسی ترین الگوهای طراحی در مهندسی نرمافزار مدرن را در چارچوب Flutter و با استفاده از Dart بهطور کامل یاد بگیرید.
- اصول طراحی S.O.L.I.D را مانند توسعهدهندگان ارشد باتجربه بیاموزید و درونی کنید.
- درک عمیقی از چیستی، چرایی و چگونگی این الگوهای طراحی اساسی به دست آورید.
- برای هر الگو، یک بررسی کامل معماری همراه با UML و همچنین سناریوهای واقعی بههمراه نمونهکدهای عملی دریافت کنید.
- روی تکالیف مبتنی بر Dart کار کنید و آنها را کامل کنید تا درک شما از این الگوها عمیقتر و اساسی تر شود.
- یاد بگیرید چگونه بهترین الگو را برای چالش معماری پیشرو شناسایی کنید.
پیشنیازهای دوره
- فرض بر این است که با Flutter و Dart آشنایی اولیه دارید. فقط تجربهی پایه کافی است.
- باید بتوانید کد Dart ارائهشده در این دوره را اجرا کنید. ما از Visual Studio Code بهعنوان IDE استفاده میکنیم، اما شما میتوانید از هر IDE دیگری که میخواهید استفاده کنید.
- دسترسی به یک رایانه. سیستمعامل Mac، Windows یا Linux همگی مناسب هستند. همهی ابزارها مستقل از سیستمعامل هستند.
- بهتر است به یک دستگاه موبایل هم دسترسی داشته باشید، اما این موضوع کاملاً ضروری نیست؛ چون ابتدا کد را روی emulator/simulator توسعه میدهیم.
توضیحات دوره
همهی ما میخواهیم توسعهدهندگان نرمافزار بهتری شویم و بتوانیم خودمان را «مهندس نرمافزار» یا «معمار نرمافزار» بنامیم، اما برای رسیدن به این هدف، ابتدا باید تعدادی الگوی طراحی را بهخوبی یاد بگیرید.
این دوره شما را در مسیر رسیدن به این هدف قرار میدهد.
به شما آموزش میدهیم که چگونه تشخیص دهید در چه زمانی باید از الگوهای طراحی مشخص استفاده کنید تا سیستمهای پیچیده را با رویکرد «تقسیم و حل» طراحی و پیادهسازی کنید؛ بهگونهای که پیچیدگی کاهش یابد و انتزاعیسازی بهدرستی انجام شود.
اما بهجای یادگیری همهی الگوهای طراحی موجود، ما مهمترین و اساسی ترین الگوهای طراحی GoF را برای شما گلچین کردهایم.
همهی اینها در بستر Flutter و با استفاده از Dart ارائه میشود.
ما با درک کامل اصول طراحی S.O.L.I.D شروع میکنیم و توضیح میدهیم که این اصول چگونه به الگوهای طراحی مرتبط میشوند. همهچیز را در قالب مسائل واقعی و همچنین نمونهکدهای مشخص توضیح میدهیم.
در پایان دوره، شما یک راهحل معماری را با کدنویسی شبیهسازی Game of Life اثر John Conway پیادهسازی خواهید کرد که روی دستگاه موبایل شما اجرا میشود.
سیستمهای نرمافزاری پیچیده با 3 مشکل اصلی روبهرو هستند:
- با تغییر نیازمندیها، زمانبندیها طولانیتر میشوند.
- چندین توسعهدهنده برای هماهنگکردن تلاشهای خود با دشواری مواجه میشوند.
- تکرار کد
این موضوع به نوبهی خود مشکلاتی در نگهداری و انعطافپذیری کلی برای افزودن قابلیتهای جدید ایجاد میکند. بهطور کلی، این یعنی سیستمهایی با طراحی ضعیف که نگهداری آنها دشوار است و قابلیت انطباق ندارند.
یکی از پاسخها به همهی مشکلات بالا، داشتن یک طراحی و معماری درست است. یک آسمانخراش را در حال ساخت تصور کنید. همیشه یک همیشه یک بلوپرینت در سطح کلان وجود دارد. این نقشه برای نشاندادن آنچه در حال انجام است، به همهی افراد درگیر پروژه (از معماران گرفته تا زنجیرهی تأمین، کارگران ساختوساز، زمانبندی ماشینآلات و غیره) استفاده میشود.
همه یک چشمانداز مشترک را درک میکنند و از آن پیروی میکنند.
یک بلوپرینت شامل مجموعهای از عناصر شناختهشده و تکرارشونده است که در پروژههای زیادی تکرار میشوند. برای مثال، همهی ساختمانها به سیمکشی برق و لولهکشی نیاز دارند، ممکن است به آسانسور، سیستمهای سرمایشی، پارکینگ زیرزمینی و البته پله نیاز داشته باشند. آنها معمولاً به شبکهی برق، آبرسانی و همچنین جادهها هم متصل هستند.
همهی این عناصر مشترک از استانداردهایی پیروی میکنند که طی سالهای بسیار زیاد و در پروژههای بسیار متعدد بهبود یافتهاند. این استانداردها بهخوبی شناخته شدهاند و تقریباً میتوان از آنها مانند دستورالعمل استفاده کرد.
در مهندسی نرمافزار هم مجموعهای از عناصر داریم که در پروژههای زیادی تکرار میشوند. برای مثال، همهی نرمافزارها باید بتوانند آبجکت هایی ایجاد کنند، باید بتوانند تغییر وضعیت را میان آن آبجکت ها منتقل کنند، و باید بتوانند روی مجموعهای از آن آبجکت ها پیمایش انجام دهند. به بیان دیگر، اگر میخواهید توسعهدهندهی بهتری باشید، باید در این عناصر آزمودهشده مهارت پیدا کنید. در دنیای مهندسی نرمافزار، این عناصر با نام «الگوهای طراحی» شناخته میشوند.
ین دوره به دانشجویان میآموزد که چگونه زمان مناسب برای استفاده از الگوهای طراحی خاص را جهت ساخت سیستمهای پیچیده با رویکرد «تقسیم و حل» تشخیص دهند، بهگونهای که پیچیدگی سیستم کاهش یافته و در سطحی انتزاعی مدیریت شود.
این موضوع به شما کمک میکند پیش از شروع توسعهی اصلی، پروژهها را بهصورت معماری طراحی کنید و از این طریق زمان توسعه را کاهش دهید و هزینههای نگهداری را کم کنید.
الگوهای طراحی مهم هستند، چون دستورالعملها یا راهحلهایی آزمودهشده برای مسائل شناختهشدهی مهندسی نرمافزار هستند. هنگام ساخت نرمافزار، برخی مشکلات به شکلی نسبتاً قابلپیشبینی تکرار میشوند؛ بنابراین بهجای «اختراع دوبارهی چرخ»، مجموعهای از چرخها برای انتخاب خواهیم داشت.
ما این موضوع را به شکلی کمی متفاوت از آنچه احتمالاً قبلاً آموختهاید آموزش میدهیم. رویکرد ما عملی خواهد بود (یعنی با مثالهای مشخص)، اما قدرت الگوهای طراحی از «مفهوم» آنها میآید و ما مفهوم این الگوها را به شما آموزش میدهیم تا بتوانید آنها را کاملاً مطابق نیاز خود تغییر دهید و اصلاح کنید. علاوه بر این، بررسی میکنیم که چگونه میتوان همهی این الگوها را در قالب چیزی بزرگتر ترکیب کرد: یک معماری.
یک معماری خوب، چیزی جادویی است که در آن کل، از مجموع اجزای آن بزرگتر است.
هدف ما این است که این را به شما بیاموزیم.
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگان Flutter & Dart که میخواهند یاد بگیرند چگونه طراحی کنند، معماری بسازند و در نهایت کد بهتری توسعه دهند.
- توسعهدهندگانی که میخواهند درک عمیقی از این داشته باشند که چه چیزی یک معمار نرم افزار عالی را میسازد.
دوره Flutter و Dart: اصول SOLID و برترین الگوهای طراحی
-
الگوهای طراحی چیستند و چرا به آنها نیاز داریم؟ 02:12
-
الگوهای طراحی پوششدادهشده در این دوره 02:38
-
آزمون کوتاه دربارهی خانوادههای الگوهای طراحی None
-
چرایی معماری نرمافزار 03:34
-
چرا از UML استفاده کنیم؟ 02:45
-
کد منظم در برابر کد نامنظم 01:29
-
اختیاری: مرور UML 05:59
-
ویژگیهای یک معماری خوب 03:36
-
اصول طراحی S.O.L.I.D 06:28
-
جلسهی تمرینی SOLID - اصل تکمسئولیتی (SRP) 04:03
-
جلسهی تمرینی SOLID - اصل باز/بسته (OCP) 05:06
-
جلسهی تمرینی SOLID - اصل جایگزینی لیسکوف (LSP) 06:09
-
جلسهی تمرینی SOLID - اصل تفکیک رابط (ISP) 04:10
-
جلسهی تمرینی SOLID - اصل وارونگی وابستگی (DIP) 04:25
-
آزمون اصول SOLID None
-
درک الگوی Singleton 07:02
-
ملاحظات معماری برای الگوی Singleton 08:04
-
کدنویسی الگوی Singleton در Dart 03:35
-
آزمون الگوی Singleton None
-
تمرینهای کدنویسی الگوی Singleton 02:11
-
راهحل تمرین کدنویسی شماره 1 07:02
-
راهحل تمرین کدنویسی شماره 2 05:38
-
درک الگوی Factory Method 09:00
-
ملاحظات معماری برای الگوی Factory Method 05:40
-
کدنویسی الگوی Factory Method در Dart 07:37
-
آزمون الگوی Factory Method None
-
تمرینهای کدنویسی الگوی Factory Method 02:03
-
درک الگوی طراحی Builder 08:56
-
ملاحظات معماری برای الگوی طراحی Builder 05:07
-
کدنویسی الگوی Builder در Dart 06:17
-
آزمون الگوی Builder None
-
تمرینهای کدنویسی الگوی طراحی Builder 01:09
-
درک الگوی طراحی Adapter 07:04
-
ملاحظات معماری برای الگوی Adapter 02:56
-
کدنویسی الگوی Adapter در Dart 04:52
-
آزمون الگوی Adapter None
-
تمرینهای کدنویسی الگوی طراحی Adapter 02:02
-
درک الگوی طراحی Strategy 05:12
-
ملاحظات معماری برای الگوی طراحی Strategy 04:04
-
کدنویسی الگوی طراحی Strategy 05:35
-
آزمون الگوی Strategy None
-
تمرین کدنویسی الگوی طراحی Strategy 02:13
-
درک الگوی طراحی Observer 02:33
-
ملاحظات معماری برای الگوی طراحی Observer 06:31
-
کدنویسی با الگوی طراحی Observer - بخش 1: ()setState 06:05
-
کدنویسی با الگوی طراحی Observer - بخش 2: Streams 13:58
-
آزمون الگوی Observer None
-
تمرین کدنویسی الگوی طراحی Observer 03:01
-
درک الگوی طراحی State 09:37
-
ملاحظات معماری برای الگوی طراحی State 05:31
-
کدنویسی الگوی طراحی State 07:55
-
تمرینهای کدنویسی الگوی طراحی State 03:14
-
دربارهی شبیهسازی Game of Life اثر John Conway 12:05
-
نکتهای دربارهی معماری 02:36
-
از اینجا به بعد چه باید کرد؟ 01:42
-
متشکرم! 00:17
مشخصات آموزش
دوره Flutter و Dart: اصول SOLID و برترین الگوهای طراحی
- تاریخ به روز رسانی: 1405/04/02
- سطح دوره:متوسط
- تعداد درس:56
- مدت زمان :04:00:58
- حجم :936.0MB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy