کدی که نگهداری، بسط و آزمایش آن آسان است، کلید برنامه هایی است که به سرعت در جهت رفع نیازهای در حال تغییر کاربران حرکت میکنند. در دوره C# Interfaces (رابطهای سی شارپ) موسسه Pluralsight که توسط Jeremy Clark تدریس شده است، شما خواهید آموخت که چگونه از رابطها به طور موثری برای ایجاد برنامههای انعطاف پذیر و قابل نگهداری استفاده کنید.
ابتدا، اینکه اینترفیسها دقیقا چی هستند و چرا میخواهیم از آنها استفاده کنیم را بررسی خواهیم کرد. در ادامه شما نحوهی ایجاد اینترفیسهای خودتان را برای سهولت در تغییر آنها یا تعویض عملکرد، یاد خواهید گرفت. در پایان، شما طراحی رابطهای موثر را فرا خواهید گرفت تا مطمئن شوید که از مزایای مورد نیاز در برنامههای خاص خود بهره میشوید. پس از اتمام این دوره، درک خوبی از رابطها و نحوه استفاده موثر از آنها در برنامههای خودتان در اختیار خواهید داشت.
Table of Contents:
- Course Overview
- Course Overview
- Introducing Interfaces
- Course Overview
- Definitions
- Demo: Concrete Class, Abstract Class, and Interface
- Programming to an Abstraction
- Demo: Future-proofing Code
- Summary
- Creating Interfaces to Add Extensibility
- Overview
- The Repository Pattern
- Demo: Implementing a Service Repository
- Demo: Other Repositories
- The Factory Method Pattern
- Demo: Repository Factory
- Summary
- Interfaces and Dynamic Loading
- Overview
- Compile-time Factory vs. Dynamic Factory
- Demo: Making Choices at Run-time
- Unit Testing
- Demo: Isolating Code for Testing
- Demo: Unit Testing with a Fake Repository
- Summary
- Explicit Interface Implementation
- Overview
- Explicit Implementation
- IEnumerable<T> and Explicit Implementation
- Demo: Building an IEnumerable<T>
- Summary
- Designing Effective Interfaces
- Overview
- Dangers of Interfaces
- Demo: Drawbacks to Abstraction
- Interface Segregation Principle
- Demo: A Better Repository
- Modifying Interfaces
- Interface Inheritance
- Interfaces vs. Abstract Classes
- Summary
- Interfaces in Frameworks and Patterns
- Overview
- Interfaces and Dependency Injection
- Demo: Dependency Injection
- Demo: Unit Testing with DI
- Interfaces and Design Patterns
- Demo: Caching Decorator
- Interfaces and Mocking
- Demo: Mock Repository
- Summary