-
Урок 1.
00:02:35
Welcome
-
Урок 2.
00:01:50
What will you learn in this course?
-
Урок 3.
00:01:22
Who is this course for and prerequisites
-
Урок 4.
00:06:48
The problem with dependencies
-
Урок 5.
00:05:14
Why Dependency injection is necessary
-
Урок 6.
00:10:26
A practical example of the dependency problem
-
Урок 7.
00:04:25
A less obvious example of a Dependency Injection use-case
-
Урок 8.
00:01:12
Dependency injection benefits past testability
-
Урок 9.
00:01:52
Injecting Classes vs Abstract classes vs Interfaces
-
Урок 10.
00:01:22
So do you have to do all that manually??
-
Урок 11.
00:01:10
Section recap
-
Урок 12.
00:00:39
Introduction
-
Урок 13.
00:06:35
The simplest setup with Dependency Injection
-
Урок 14.
00:02:01
The ServiceCollection
-
Урок 15.
00:01:47
The ServiceProvider
-
Урок 16.
00:05:29
All of the above, in an API
-
Урок 17.
00:04:31
The different types of dependency lifetimes
-
Урок 18.
00:02:09
The Transient lifetime
-
Урок 19.
00:02:09
The Singleton lifetime
-
Урок 20.
00:02:32
The Scoped lifetime
-
Урок 21.
00:03:39
GetService vs GetRequiredService
-
Урок 22.
00:03:32
Generic-based registration vs implementation-based registration
-
Урок 23.
00:06:05
Registration approaches
-
Урок 24.
00:02:10
The Startup.cs and changes after .NET 6
-
Урок 25.
00:01:51
Third party libraries
-
Урок 26.
00:01:10
Section recap
-
Урок 27.
00:00:22
Resolving dependencies in different project types
-
Урок 28.
00:01:00
Resolving dependencies from the constructor
-
Урок 29.
00:01:28
Resolving dependencies from the method
-
Урок 30.
00:01:18
Resolving dependencies in a console setup
-
Урок 31.
00:01:10
Resolving dependencies from the HttpContext
-
Урок 32.
00:02:43
Resolving dependencies from Action Filters as Attributes
-
Урок 33.
00:02:43
Resolving dependencies from Service Filters
-
Урок 34.
00:02:33
Resolving dependencies from Middleware
-
Урок 35.
00:03:14
Resolving dependencies in Minimal APIs
-
Урок 36.
00:01:29
Resolving dependencies in Razor Views & Pages
-
Урок 37.
00:01:01
Resolving dependencies in Blazor
-
Урок 38.
00:01:17
Resolving dependencies in gRPC Services
-
Урок 39.
00:02:39
Resolving dependencies in Hosted Services
-
Урок 40.
00:01:55
Resolving dependencies in service registration
-
Урок 41.
00:00:32
Section recap
-
Урок 42.
00:05:01
Do you need an interface for everything?
-
Урок 43.
00:02:32
Choosing the right dependency lifetime
-
Урок 44.
00:07:44
Dependency resolving issues and limitations
-
Урок 45.
00:02:39
Registering open generics
-
Урок 46.
00:03:23
Registering multiple interface implementations
-
Урок 47.
00:04:23
The ServiceDescriptor
-
Урок 48.
00:04:23
Add vs TryAdd
-
Урок 49.
00:03:32
TryAddEnumerable
-
Урок 50.
00:05:48
Replacing dependencies
-
Урок 51.
00:03:23
Cleaning up service registration
-
Урок 52.
00:01:00
Section recap
-
Урок 53.
00:05:43
Creating a custom scope
-
Урок 54.
00:02:49
The service locator anti-pattern
-
Урок 55.
00:20:38
When service locator makes sense
-
Урок 56.
00:03:15
Avoiding capturing dependencies
-
Урок 57.
00:03:19
Avoiding multiple service providers
-
Урок 58.
00:07:12
Creating decorators
-
Урок 59.
00:03:56
The future of dependency injection
-
Урок 60.
00:00:48
Section recap
-
Урок 61.
00:01:35
What is Scrutor?
-
Урок 62.
00:03:59
Registering service decorators
-
Урок 63.
00:08:27
Surprise optional refactoring lecture
-
Урок 64.
00:13:10
Service registration by scanning
-
Урок 65.
00:03:29
Interface marking
-
Урок 66.
00:03:15
Attribute marking
-
Урок 67.
00:02:20
Namespace filtering
-
Урок 68.
00:02:48
Using the ServiceDescriptor attribute
-
Урок 69.
00:02:25
Using RegistrationStrategies
-
Урок 70.
00:01:53
Potential pitfalls
-
Урок 71.
00:00:47
Section recap
-
Урок 72.
00:01:26
Why should we even bother?
-
Урок 73.
00:02:58
The design
-
Урок 74.
00:19:58
The implementation
-
Урок 75.
00:10:37
Extending the main implementation
-
Урок 76.
00:00:34
Section recap
-
Урок 77.
00:00:33
Course conclusion