نوشتن نرم افزاری که نیازهای فوری کاربران خود را برآورده سازد آسان است، اما توسعه و نگهداری آن دشوار است. چنین نرم افزاری برای شرکتهایی که تلاش میکنند رقابتی باقی بمانند، بار سنگینی است. در دوره ویدیویی SOLID Principles for C# Developers موسسه Pluralsight که توسط Steve Smith تدریس شده است، شما پنج اصل اساسی از طراحی شی گرا را یاد خواهید گرفت که نرم افزار شما را loosely coupled، تست پذیر و قابل نگهداری نگه میدارد.
در این دوره ابتدا خواهید دید که چگونه کلاسها را کوچک و متمرکز نگه دارید و چگونه میتوانید رفتار آنها را بدون نیاز به ویرایش کد منبع آنها توسعه دهید. سپس، اهمیت طراحی صحیح واسطها و انتزاعات را در سیستمهای خود خواهید فهمید. سرانجام، شما چگونگی مرتب کردن وابستگیها در سیستم خود را بررسی خواهید کرد تا در صورت لزوم پیاده سازیهای مختلف به آنها اضافه یا وصل شوند تا به یک طراحی واقعا ماژولار منجر شود. پس از اتمام این دوره، میفهمید که چگونه میتوانید برنامه هایی قابل نگهداری، توسعه پذیر و قابل تست با استفاده از #C و NET. بسازید.
فیلم آموزشی «اصول SOLID برای توسعه دهندگان سی شارپ» موسسه پلورال سایت که توسط Steve Smith تدریس شده است، دارای زیرنویس انگلیسی است.
Table of Contents:
Course Overview
- Course Overview
Single Responsibility Principle
- Introducing SOLID
- Defining the Single Responsibility Principle
- Coupling, Cohesion, and Concerns
- Demo: RatingEngine Insurance Sample
- Problem Analysis
- Applying SRP to RatingEngine
- Key Takeaways and Summary
Open / Closed Principle
- Definition and Overview
- Benefits of OCP
- Balancing Abstraction and Concreteness
- Typical Approaches to OCP
- Prefer New Classes for New Behavior
- Demo: Applying OCP to RatingEngine
- Applying OCP to Package Design
- Key Takeaways and Summary
Liskov Substitution Principle
- Defining the Liskov Substitution Principle
- The Problem with Basic IS-A Inheritance
- Detecting LSP Violations in Your Code
- Fixing LSP Violations
- Applying LSP to ArdalisRating
- Key Takeaways and Summary
Interface Segregation Principle
- Defining the Interface Segregation Principle
- The Problem with ISP Violations
- Detecting ISP Violations in Your Code
- Fixing ISP Violations
- Demo: Applying ISP to ArdalisRating Sample
- Key Takeaways and Summary
Dependency Inversion Principle
- Defining the Dependency Inversion Principle
- Properly Structuring Your Dependencies
- Demo: Applying DIP to ArdalisRating Sample
- Organizing and Extending Your SOLID Project
- Key Takeaways and Summary