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