این دوره به شما میآموزد که چگونه به طور عملی اصول SOLID را در برنامههای Java SE 17 به کار ببرید تا از بدهیهای فنی جلوگیری کنید و سیستمهای محکم و با اتصال ضعیفی بسازید که میتوانند به راحتی در طول زمان تکامل یابند.
آنچه خواهید آموخت:
در این دوره آموزشی Java SE 17 Refactoring SOLID Code، شما یاد خواهید گرفت که برنامههای کاربردی را با استفاده از اصول شی گرا SOLID به منظور مقاومتر کردن و نگهداری آسان تر، refactor کنید. ابتدا، شما اصل مسئولیت واحد و اینکه چرا این احتمالا مهمترین مفهوم در برنامه نویسی است را بررسی خواهید کرد. در مرحله بعد، اصل Open Closed را کشف خواهید کرد و یاد میگیرید که چگونه برنامهها را بدون تغییر کد موجود توسعه دهید. پس از آن، شما اصل جایگزینی Liskov را بررسی کرده و نحوه ایجاد روابط صحیح با استفاده از وراثت را پیدا خواهید کرد. سپس، خواهید دید که چرا ایجاد رابطهای «چربی» و تغییر آن با استفاده از اصل جداسازی رابط ایده خوبی نیست. در نهایت، یاد خواهید گرفت که چگونه با استفاده از اصل وارونگی وابستگی، کامپوننتهایی با جفت آزاد ایجاد کنید. وقتی این دوره را به پایان رساندید، مهارتها و دانش کدهای ساختمانی را خواهید داشت که به اصول SOLID مورد نیاز برای ساختن برنامههای کاربردی که به راحتی قابل درک، تکامل و نگهداری هستند، احترام میگذارد.
نمونه ویدیوی آموزشی ( زیرنویسها جدا از ویدیو است و میتوانید آنرا نمایش ندهید ) :
[ENGLISH]
01 Course Overview [2mins]
01-01 Course Overview [2mins]
02 Single Responsibility Principle [31mins]
02-01 Code Rigidity, Code Fragility, and Technical Debt [7mins]
02-02 Course Overview [2mins]
02-03 Single Responsibility Principle [3mins]
02-04 Identifying Multiple Reasons to Change [9mins]
02-05 Refactoring for SRP [1mins]
02-06 Demo: Refactoring a Method with Too Many Responsibilities [7mins]
02-07 Demo 01 - Single Responsibility Principle [0mins]
02-08 Recap [2mins]
02-09 Checkpoint 01 - Single Responsibility Principle [0mins]
02-10 Exercise 01 - Single Responsibility Principle [0mins]
03 Open-closed Principle [19mins]
03-01 Open-closed Principle [3mins]
03-02 Demo: Adding a New Software Feature without Using the OCP [3mins]
03-03 Open-closed Principle Implementation Strategies [6mins]
03-04 Demo: Applying the OCP When Adding New Software Features [4mins]
03-05 Demo 02 - Open-closed Principle [0mins]
03-06 Applying the OCP for Frameworks and APIs [2mins]
03-07 Recap [1mins]
03-08 Checkpoint 02 - Open-closed Principle [0mins]
03-09 Exercise 02 - Open-closed Principle [0mins]
04 Liskov Substitution Principle [22mins]
04-01 Liskov Substitution Principle [3mins]
04-02 Violating the Liskov Substitution Principle [6mins]
04-03 Demo: Incorrect Inheritance between Classes [4mins]
04-04 Demo 03 - Liskov Substitution Principle [0mins]
04-05 Refactoring Code to Respect the LSP [4mins]
04-06 Demo: Refactoring Classes for LSP [3mins]
04-07 Recap [2mins]
04-08 Checkpoint 03 - Liskov Substitution Principle [0mins]
04-09 Exercise 03 - Liskov Substitution Principle [0mins]
05 Interface Segregation Principle [18mins]
05-01 Interface Segregation Principle [2mins]
05-02 Identifying "-Fat"- Interfaces [4mins]
05-03 Demo: Problems That Appear When Interfaces Are "-Fat"- [3mins]
05-04 Refactoring Code That Depends on Large Interfaces [4mins]
05-05 Demo: Refactoring Code to ISP [3mins]
05-06 Demo 04 - Interface Segregation Principle [0mins]
05-07 Recap [2mins]
05-08 Checkpoint 04 - Interface Segregation Principle [0mins]
05-09 Exercise 04 - Interface Segregation Principle [0mins]
06 Dependency Inversion Principle [23mins]
06-01 Dependency Inversion Principle [5mins]
06-02 Demo: High-level Components Depend on Low-level Components [3mins]
06-03 Writing Code That Respects the Dependency Inversion Principle [3mins]
06-04 Dependency Injection (DI) [3mins]
06-05 Inversion of Control (IoC) [3mins]
06-06 Demo: Refactoring Code to Meet the Dependency Inversion Principle [3mins]
06-07 Demo 05 - Dependency Inversion Principle [0mins]
06-08 Recap and Course Summary [3mins]
06-09 Checkpoint 01 - Dependency Inversion Principle [0mins]
06-10 Exercise 1 - Dependency Inversion Principle [0mins]
[فارسی]
01 بررسی اجمالی دوره [2 دقیقه]
01-01 بررسی اجمالی دوره [2 دقیقه]
02 اصل مسئولیت واحد [31 دقیقه]
02-01 سختی کد، شکنندگی کد، و بدهی فنی [7 دقیقه]
02-02 بررسی اجمالی دوره [2 دقیقه]
02-03 اصل مسئولیت واحد [3 دقیقه]
02-04 شناسایی دلایل متعدد برای تغییر [9 دقیقه]
02-05 بازسازی برای SRP [1 دقیقه]
02-06 نسخهی نمایشی- بازسازی یک روش با مسئولیتهای بیش از حد [7 دقیقه]
02-07 نسخه آزمایشی 01 - اصل مسئولیت منفرد [0 دقیقه]
02-08 خلاصه [2 دقیقه]
02-09 ایست بازرسی 01 - اصل مسئولیت واحد [0 دقیقه]
02-10 تمرین 01 - اصل مسئولیت منفرد [0 دقیقه]
03 اصل باز-بسته [19 دقیقه]
03-01 اصل بسته باز [3 دقیقه]
03-02 نسخهی نمایشی- افزودن یک ویژگی نرمافزاری جدید بدون استفاده از OCP [3 دقیقه]
03-03 استراتژیهای پیادهسازی اصول بسته [6 دقیقه]
03-04 نسخهی نمایشی- اعمال OCP هنگام افزودن ویژگیهای نرمافزار جدید [4 دقیقه]
03-05 نسخه آزمایشی 02 - اصل بسته باز [0 دقیقه]
03-06 اعمال OCP برای فریمورکها و APIها [2 دقیقه]
03-07 خلاصه [1 دقیقه]
03-08 ایست بازرسی 02 - اصل باز-بسته [0 دقیقه]
03-09 تمرین 02 - اصل باز-بسته [0 دقیقه]
04 اصل تعویض لیسکوف [22 دقیقه]
04-01 اصل تعویض لیسکوف [3 دقیقه]
04-02 نقض اصل تعویض لیسکوف [6 دقیقه]
04-03 نسخهی نمایشی- وراثت نادرست بین کلاسها [4 دقیقه]
04-04 نسخه آزمایشی 03 - اصل تعویض لیسکوف [0 دقیقه]
04-05 Refactoring کد برای احترام به LSP [4 دقیقه]
04-06 نسخهی نمایشی- کلاسهای بازسازی مجدد برای LSP [3 دقیقه]
04-07 خلاصه [2 دقیقه]
04-08 ایست بازرسی 03 - اصل تعویض لیسکوف [0 دقیقه]
04-09 تمرین 03 - اصل تعویض لیسکوف [0 دقیقه]
05 اصل جداسازی رابط [18 دقیقه]
05-01 اصل جداسازی رابط [2 دقیقه]
05-02 شناسایی واسطهای ?چاق? [4 دقیقه]
05-03 نسخهی نمایشی- مشکلاتی که وقتی رابطها `چاق` هستند ظاهر میشوند [3 دقیقه]
05-04 بازسازی کدی که به واسطهای بزرگ بستگی دارد [4 دقیقه]
05-05 نسخهی نمایشی- تغییر کد به ISP [3 دقیقه]
05-06 نسخه آزمایشی 04 - اصل جداسازی رابط [0 دقیقه]
05-07 خلاصه [2 دقیقه]
05-08 ایست بازرسی 04 - اصل جداسازی رابط [0 دقیقه]
05-09 تمرین 04 - اصل جداسازی رابط [0 دقیقه]
06 اصل وارونگی وابستگی [23 دقیقه]
06-01 اصل وارونگی وابستگی [5 دقیقه]
06-02 نسخهی نمایشی- اجزای سطح بالا به مولفههای سطح پایین بستگی دارند [3 دقیقه]
06-03 نوشتن کدی که به اصل وارونگی وابستگی احترام میگذارد [3 دقیقه]
06-04 تزریق وابستگی (DI) [3 دقیقه]
06-05 وارونگی کنترل (IoC) [3 دقیقه]
06-06 نسخهی نمایشی- Refactoring کد برای مطابقت با اصل وارونگی وابستگی [3 دقیقه]
06-07 نسخه آزمایشی 05 - اصل وارونگی وابستگی [0 دقیقه]
06-08 خلاصه و خلاصه دوره [3 دقیقه]
06-09 نقطه بازرسی 01 - اصل وارونگی وابستگی [0 دقیقه]
06-10 تمرین 1 - اصل وارونگی وابستگی [0 دقیقه]
من یک توسعه دهنده نرمافزار و مربی پرشور با یک دهه تجربه در ساخت برنامههای کاربردی نرم افزارهای حیاتی در بانکداری، مدیریت ترافیک هوایی، ایمنی دریایی و مدیریت هویت هستم. هیچ چیز بیشتر از ارائه ارزش به مشتریان در حین ساختن راه حلهای نرمافزاری قوی که نگهداری و تکامل آنها آسان است، مرا راضی نمیکند. من عاشق به اشتراک گذاشتن مهارتها و تجربیاتم با دیگران هستم. من در سال 2015 شروع به انتشار آموزشهای کدنویسی در YouTube کردم و در سال 2018 نویسنده Pluralsight شدم.