1. Урок 1. 00:07:13
    Introduction
  2. Урок 2. 00:01:17
    Overview
  3. Урок 3. 00:07:31
    Single Responsibility Principle
  4. Урок 4. 00:17:25
    Open-Closed Principle
  5. Урок 5. 00:06:38
    Liskov Substitution Principle
  6. Урок 6. 00:06:34
    Interface Segregation Principle
  7. Урок 7. 00:11:12
    Dependency Inversion Principle
  8. Урок 8. 00:05:26
    Summary
  9. Урок 9. 00:03:38
    Gamma Categorization
  10. Урок 10. 00:01:44
    Overview
  11. Урок 11. 00:03:35
    Life Without Builder
  12. Урок 12. 00:09:07
    Builder
  13. Урок 13. 00:01:17
    Fluent Builder
  14. Урок 14. 00:12:38
    Fluent Builder Inheritance with Recursive Generics
  15. Урок 15. 00:09:01
    Stepwise Builder
  16. Урок 16. 00:10:21
    Functional Builder
  17. Урок 17. 00:11:12
    Faceted Builder
  18. Урок 18. 00:00:59
    Summary
  19. Урок 19. 00:02:23
    Overview
  20. Урок 20. 00:04:39
    Point Example
  21. Урок 21. 00:05:04
    Factory Method
  22. Урок 22. 00:05:03
    Asynchronous Factory Method
  23. Урок 23. 00:03:00
    Factory
  24. Урок 24. 00:12:02
    Object Tracking and Bulk Replacement
  25. Урок 25. 00:05:43
    Inner Factory
  26. Урок 26. 00:11:22
    Abstract Factory
  27. Урок 27. 00:09:53
    Abstract Factory and OCP
  28. Урок 28. 00:01:06
    Summary
  29. Урок 29. 00:02:00
    Overview
  30. Урок 30. 00:07:38
    ICloneable is Bad
  31. Урок 31. 00:03:56
    Copy Constructors
  32. Урок 32. 00:02:35
    Explicit Deep Copy Interface
  33. Урок 33. 00:20:25
    Prototype Inheritance
  34. Урок 34. 00:09:06
    Copy Through Serialization
  35. Урок 35. 00:01:09
    Summary
  36. Урок 36. 00:02:45
    Overview
  37. Урок 37. 00:08:41
    Singleton Implementation
  38. Урок 38. 00:07:23
    Testability Issues
  39. Урок 39. 00:08:59
    Singleton in Dependency Injection
  40. Урок 40. 00:03:47
    Monostate
  41. Урок 41. 00:04:26
    Per-Thread Singleton
  42. Урок 42. 00:12:27
    Ambient Context
  43. Урок 43. 00:02:16
    Summary
  44. Урок 44. 00:02:37
    Overview
  45. Урок 45. 00:08:36
    Vector/Raster Demo
  46. Урок 46. 00:06:05
    Adapter Caching
  47. Урок 47. 00:25:19
    Generic Value Adapter
  48. Урок 48. 00:09:08
    Adapter in Dependency Injection
  49. Урок 49. 00:01:11
    Summary
  50. Урок 50. 00:02:51
    Overview
  51. Урок 51. 00:09:51
    Bridge
  52. Урок 52. 00:01:34
    Summary
  53. Урок 53. 00:01:54
    Overview
  54. Урок 54. 00:07:34
    Geometric Shapes
  55. Урок 55. 00:08:01
    Neural Networks
  56. Урок 56. 00:05:59
    Composite Specification
  57. Урок 57. 00:01:12
    Summary
  58. Урок 58. 00:02:35
    Overview
  59. Урок 59. 00:06:20
    Custom String Builder
  60. Урок 60. 00:06:34
    Adapter-Decorator
  61. Урок 61. 00:08:41
    Multiple Inheritance with Interfaces
  62. Урок 62. 00:07:45
    Multiple Inheritance with Default Interface Members
  63. Урок 63. 00:07:40
    Dynamic Decorator Composition
  64. Урок 64. 00:22:03
    Detecting Decorator Cycles
  65. Урок 65. 00:09:31
    Static Decorator Composition
  66. Урок 66. 00:06:12
    Decorator in Dependency Injection
  67. Урок 67. 00:02:03
    Summary
  68. Урок 68. 00:03:10
    Overview
  69. Урок 69. 00:08:00
    Façade
  70. Урок 70. 00:01:26
    Summary
  71. Урок 71. 00:05:25
    Overview
  72. Урок 72. 00:12:30
    Repeating User Names
  73. Урок 73. 00:08:54
    Text Formatting
  74. Урок 74. 00:00:59
    Summary
  75. Урок 75. 00:03:13
    Overview
  76. Урок 76. 00:03:12
    Protection Proxy
  77. Урок 77. 00:09:25
    Property Proxy
  78. Урок 78. 00:12:06
    Value Proxy
  79. Урок 79. 00:11:31
    Composite Proxy: SoA/AoS
  80. Урок 80. 00:06:43
    Composite Proxy with Array-Backed Properties
  81. Урок 81. 00:11:51
    Dynamic Proxy for Logging
  82. Урок 82. 00:01:28
    Proxy vs. Decorator
  83. Урок 83. 00:08:43
    ViewModel
  84. Урок 84. 00:25:05
    Bit Fragging
  85. Урок 85. 00:00:56
    Summary
  86. Урок 86. 00:03:34
    Overview
  87. Урок 87. 00:01:29
    Command Query Separation
  88. Урок 88. 00:12:16
    Method Chain
  89. Урок 89. 00:13:51
    Broker Chain
  90. Урок 90. 00:01:19
    Summary
  91. Урок 91. 00:03:07
    Overview
  92. Урок 92. 00:07:48
    Command
  93. Урок 93. 00:06:06
    Undo Operations
  94. Урок 94. 00:12:12
    Composite Command
  95. Урок 95. 00:01:10
    Summary
  96. Урок 96. 00:04:01
    Overview
  97. Урок 97. 00:07:53
    Handmade Interpreter: Lexing
  98. Урок 98. 00:12:06
    Handmade Interpreter: Parsing
  99. Урок 99. 00:02:45
    ANTLR
  100. Урок 100. 00:01:04
    Summary
  101. Урок 101. 00:01:43
    Overview
  102. Урок 102. 00:11:50
    Iterator Object
  103. Урок 103. 00:06:58
    Iterator Method
  104. Урок 104. 00:04:07
    Iterators and Duck Typing
  105. Урок 105. 00:05:52
    Array-Backed Properties
  106. Урок 106. 00:01:29
    Summary
  107. Урок 107. 00:01:14
    Overview
  108. Урок 108. 00:10:43
    Chat Room
  109. Урок 109. 00:15:31
    Event Broker
  110. Урок 110. 00:13:21
    Introduction to MediatR
  111. Урок 111. 00:01:17
    Summary
  112. Урок 112. 00:01:42
    Overview
  113. Урок 113. 00:06:05
    Memento
  114. Урок 114. 00:07:16
    Undo and Redo
  115. Урок 115. 00:06:39
    Memento for Interop
  116. Урок 116. 00:01:18
    Summary
  117. Урок 117. 00:01:59
    Overview
  118. Урок 118. 00:08:54
    Null Object
  119. Урок 119. 00:05:09
    Null Object Singleton
  120. Урок 120. 00:06:12
    Dynamic Null Object
  121. Урок 121. 00:00:42
    Summary
  122. Урок 122. 00:02:12
    Overview
  123. Урок 123. 00:07:10
    Observer via the 'event' Keyword
  124. Урок 124. 00:08:26
    Weak Event Pattern
  125. Урок 125. 00:18:29
    Observer via Special Interfaces
  126. Урок 126. 00:09:46
    Observable Collections
  127. Урок 127. 00:14:49
    Bidirectional Observer
  128. Урок 128. 00:13:31
    Property Dependencies
  129. Урок 129. 00:27:09
    Declarative Event Subscriptions with Interfaces
  130. Урок 130. 00:00:57
    Summary
  131. Урок 131. 00:03:10
    Overview
  132. Урок 132. 00:12:33
    Classic Implementation
  133. Урок 133. 00:06:45
    Handmade State Machine
  134. Урок 134. 00:06:39
    Switch-Based State Machine
  135. Урок 135. 00:08:50
    Switch Expressions
  136. Урок 136. 00:05:38
    State Machine with Stateless
  137. Урок 137. 00:01:01
    Summary
  138. Урок 138. 00:01:51
    Overview
  139. Урок 139. 00:08:26
    Dynamic Strategy
  140. Урок 140. 00:04:08
    Static Strategy
  141. Урок 141. 00:07:42
    Equality and Comparison Strategies
  142. Урок 142. 00:00:27
    Summary
  143. Урок 143. 00:01:31
    Overview
  144. Урок 144. 00:07:24
    Template Method
  145. Урок 145. 00:03:39
    Functional Template Method
  146. Урок 146. 00:00:46
    Summary
  147. Урок 147. 00:04:47
    Overview
  148. Урок 148. 00:04:42
    Intrusive Visitor
  149. Урок 149. 00:09:11
    Reflective Visitor
  150. Урок 150. 00:10:22
    Classic Visitor (Double Dispatch)
  151. Урок 151. 00:14:25
    Reductions and Transforms
  152. Урок 152. 00:07:12
    Dynamic Visitor via the DLR
  153. Урок 153. 00:12:02
    Acyclic Visitor
  154. Урок 154. 00:01:10
    Summary
  155. Урок 155. 00:04:42
    Creational Paterns Summary
  156. Урок 156. 00:06:14
    Structural Patterns Summary
  157. Урок 157. 00:08:49
    Behavioral Patterns Summary
  158. Урок 158. 00:00:55
    End of Course
  159. Урок 159. 00:13:59
    An ASCII C# String
  160. Урок 160. 00:11:08
    Continuation Passing Style
  161. Урок 161. 00:17:44
    Local Inversion of Control
  162. Урок 162. 00:10:12
    DI Container and Event Broker Integration
  163. Урок 163. 00:14:48
    Beyond the Elvis Operator
  164. Урок 164. 00:26:43
    CQRS and Event Sourcing
  165. Урок 165. 00:05:11
    Overview
  166. Урок 166. 00:04:58
    Builder
  167. Урок 167. 00:04:40
    Decorator
  168. Урок 168. 00:08:16
    Factory
  169. Урок 169. 00:09:59
    Interpreter
  170. Урок 170. 00:05:39
    Strategy
  171. Урок 171. 00:10:07
    Template Method
  172. Урок 172. 00:02:56
    Summary