Section 1 : Introduction
|  | Lecture 1 | INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM | 
Section 2 : The SOLID Design Principles
|  | Lecture 1 | Overview | 00:01:16 Duration | 
|  | Lecture 2 | Single Responsibility Principle | 00:07:30 Duration | 
|  | Lecture 3 | Open-Closed Principle | 00:17:24 Duration | 
|  | Lecture 4 | Liskov Substitution Principle | 00:06:37 Duration | 
|  | Lecture 5 | Interface Segregation Principle | 00:06:33 Duration | 
|  | Lecture 6 | Dependency Inversion Principle | 00:11:12 Duration | 
|  | Lecture 7 | Summary | 
Section 3 : Builder
|  | Lecture 1 | Gamma Categorization | 00:03:37 Duration | 
|  | Lecture 2 | Overview | 00:01:44 Duration | 
|  | Lecture 3 | Life Without Builder | 00:03:35 Duration | 
|  | Lecture 4 | Builder | 00:09:06 Duration | 
|  | Lecture 5 | Fluent Builder | 00:01:17 Duration | 
|  | Lecture 6 | Fluent Builder Inheritance with Recursive Generics | 00:12:37 Duration | 
|  | Lecture 7 | Functional Builder | 00:10:20 Duration | 
|  | Lecture 8 | Faceted Builder | 00:11:11 Duration | 
|  | Lecture 9 | Summary | 00:00:58 Duration | 
Section 4 : Factories
|  | Lecture 1 | Overview | 00:02:22 Duration | 
|  | Lecture 2 | Point Example | 00:04:38 Duration | 
|  | Lecture 3 | Factory Method | 00:05:03 Duration | 
|  | Lecture 4 | Asynchronous Factory Method | 00:05:02 Duration | 
|  | Lecture 5 | Factory | 00:02:59 Duration | 
|  | Lecture 6 | Inner Factory | 00:05:42 Duration | 
|  | Lecture 7 | Abstract Factory | 00:11:22 Duration | 
|  | Lecture 8 | Abstract Factory and OCP | 00:09:52 Duration | 
|  | Lecture 9 | Summary | 00:01:05 Duration | 
Section 5 : Prototype
|  | Lecture 1 | Overview | 00:01:59 Duration | 
|  | Lecture 2 | ICloneable is Bad | 00:07:37 Duration | 
|  | Lecture 3 | Copy Constructors | 00:03:56 Duration | 
|  | Lecture 4 | Explicit Deep Copy Interface | 00:02:35 Duration | 
|  | Lecture 5 | Prototype Inheritance | 00:09:06 Duration | 
|  | Lecture 6 | Copy Through Serialization | 00:20:25 Duration | 
|  | Lecture 7 | Summary | 00:01:08 Duration | 
Section 6 : Singleton
|  | Lecture 1 | Overview | 00:02:44 Duration | 
|  | Lecture 2 | Singleton Implementation | 00:08:41 Duration | 
|  | Lecture 3 | Testability Issues | 00:07:22 Duration | 
|  | Lecture 4 | Singleton in Dependency Injection | 00:08:58 Duration | 
|  | Lecture 5 | Monostate | 00:03:46 Duration | 
|  | Lecture 6 | Per-Thread Singleton | 00:04:25 Duration | 
|  | Lecture 7 | Ambient Context | 00:12:26 Duration | 
|  | Lecture 8 | Summary | 00:02:15 Duration | 
Section 7 : Adapter
|  | Lecture 1 | Overview | 00:02:36 Duration | 
|  | Lecture 2 | Vector_Raster Demo | 00:08:36 Duration | 
|  | Lecture 3 | Adapter Caching | 00:06:04 Duration | 
|  | Lecture 4 | Generic Value Adapter | 00:25:19 Duration | 
|  | Lecture 5 | Adapter in Dependency Injection | 00:09:07 Duration | 
|  | Lecture 6 | Summary | 00:01:11 Duration | 
Section 8 : Bridge
|  | Lecture 1 | Overview | 00:02:50 Duration | 
|  | Lecture 2 | Bridge | 00:09:50 Duration | 
|  | Lecture 3 | Summary | 00:01:33 Duration | 
Section 9 : Composite
|  | Lecture 1 | Overview | 00:01:53 Duration | 
|  | Lecture 2 | Geometric Shapes | 00:07:33 Duration | 
|  | Lecture 3 | Neural Networks | 00:08:00 Duration | 
|  | Lecture 4 | Composite Specification | 00:05:59 Duration | 
|  | Lecture 5 | Summary | 00:01:11 Duration | 
Section 10 : Decorator
|  | Lecture 1 | Overview | 00:02:34 Duration | 
|  | Lecture 2 | Custom String Builder | 00:06:19 Duration | 
|  | Lecture 3 | Adapter-Decorator | 00:06:34 Duration | 
|  | Lecture 4 | Structural | |
|  | Lecture 5 | Multiple Inheritance with Interfaces | 00:08:40 Duration | 
|  | Lecture 6 | Multiple Inheritance with Default Interface Members | 00:07:45 Duration | 
|  | Lecture 7 | Dynamic Decorator Composition | 00:07:39 Duration | 
|  | Lecture 8 | Detecting Decorator Cycles | 00:22:03 Duration | 
|  | Lecture 9 | Static Decorator Composition | 00:09:30 Duration | 
|  | Lecture 10 | Decorator in Dependency Injection | 00:06:11 Duration | 
|  | Lecture 11 | Summary | 00:02:02 Duration | 
Section 11 : Façade
|  | Lecture 1 | Overview | 00:03:09 Duration | 
|  | Lecture 2 | Façade | 00:07:59 Duration | 
|  | Lecture 3 | Summary | 00:01:25 Duration | 
Section 12 : Flyweight
|  | Lecture 1 | Overview | 00:05:24 Duration | 
|  | Lecture 2 | Repeating User Names | 00:12:29 Duration | 
|  | Lecture 3 | Text Formatting | 00:08:53 Duration | 
|  | Lecture 4 | Summary | 00:00:59 Duration | 
Section 13 : Proxy
|  | Lecture 1 | Overview | 00:03:12 Duration | 
|  | Lecture 2 | Protection Proxy | 00:03:11 Duration | 
|  | Lecture 3 | Property Proxy | 00:09:24 Duration | 
|  | Lecture 4 | Value Proxy | 00:12:05 Duration | 
|  | Lecture 5 | Composite Proxy_ SoA_AoS | 00:11:30 Duration | 
|  | Lecture 6 | Composite Proxy with Array-Backed Properties | 00:06:42 Duration | 
|  | Lecture 7 | Dynamic Proxy for Logging | 00:11:50 Duration | 
|  | Lecture 8 | Proxy vs | 00:01:27 Duration | 
|  | Lecture 9 | ViewModel | 00:08:42 Duration | 
|  | Lecture 10 | Bit Fragging | 00:25:04 Duration | 
|  | Lecture 11 | Summary | 00:00:55 Duration | 
Section 14 : Chain of Responsibility
|  | Lecture 1 | Overview | 00:03:33 Duration | 
|  | Lecture 2 | Command Query Separation | 00:01:28 Duration | 
|  | Lecture 3 | Method Chain | 00:12:15 Duration | 
|  | Lecture 4 | Broker Chain | 00:13:51 Duration | 
|  | Lecture 5 | Summary | 00:01:18 Duration | 
Section 15 : Command
|  | Lecture 1 | Overview | 00:03:07 Duration | 
|  | Lecture 2 | Command | 00:07:47 Duration | 
|  | Lecture 3 | Undo Operations | 00:06:05 Duration | 
|  | Lecture 4 | Composite Command | 00:12:11 Duration | 
|  | Lecture 5 | Summary | 00:01:09 Duration | 
Section 16 : Interpreter
|  | Lecture 1 | Overview | 00:04:00 Duration | 
|  | Lecture 2 | Handmade Interpreter_ Lexing | |
|  | Lecture 3 | Handmade Interpreter_ Parsing | 00:12:05 Duration | 
|  | Lecture 4 | ANTLR | 00:02:44 Duration | 
|  | Lecture 5 | Summary | 00:01:03 Duration | 
Section 17 : Iterator
|  | Lecture 1 | Overview | 00:01:42 Duration | 
|  | Lecture 2 | Iterator Object | 00:11:49 Duration | 
|  | Lecture 3 | Iterator Method | 00:06:57 Duration | 
|  | Lecture 4 | Iterators and Duck Typing | 00:04:06 Duration | 
|  | Lecture 5 | Array-Backed Properties | 00:05:51 Duration | 
|  | Lecture 6 | Summary | 00:01:29 Duration | 
Section 18 : Mediator
|  | Lecture 1 | Overview | 00:01:13 Duration | 
|  | Lecture 2 | Chat Room | 00:10:42 Duration | 
|  | Lecture 3 | Event Broker | 00:15:30 Duration | 
|  | Lecture 4 | Introduction to MediatR | 00:13:20 Duration | 
|  | Lecture 5 | Summary | 00:01:16 Duration | 
Section 19 : Memento
|  | Lecture 1 | Overview | |
|  | Lecture 2 | Memento | 00:06:04 Duration | 
|  | Lecture 3 | Undo and Redo | 00:07:15 Duration | 
|  | Lecture 4 | Memento for Interop | 00:06:38 Duration | 
|  | Lecture 5 | Summary | 00:01:17 Duration | 
Section 20 : Null Object
|  | Lecture 1 | Overview | 00:01:58 Duration | 
|  | Lecture 2 | Null Object | 00:08:54 Duration | 
|  | Lecture 3 | Dynamic Null Object | 00:06:12 Duration | 
|  | Lecture 4 | Summary | 00:00:41 Duration | 
Section 21 : Observer
|  | Lecture 1 | Overview | 00:02:11 Duration | 
|  | Lecture 2 | Observer via the 'event' Keyword | 00:07:09 Duration | 
|  | Lecture 3 | Weak Event Pattern | 00:08:25 Duration | 
|  | Lecture 4 | Observer via Special Interfaces | 00:18:28 Duration | 
|  | Lecture 5 | Observable Collections | 00:09:45 Duration | 
|  | Lecture 6 | Bidirectional Observer | 00:14:48 Duration | 
|  | Lecture 7 | Property Dependencies | 00:13:30 Duration | 
|  | Lecture 8 | Declarative Event Subscriptions with Interfaces | 00:27:09 Duration | 
|  | Lecture 9 | Summary | 00:00:56 Duration | 
Section 22 : State
|  | Lecture 1 | Overview | 00:03:09 Duration | 
|  | Lecture 2 | Classic Implementation | 00:12:32 Duration | 
|  | Lecture 3 | Handmade State Machine | 00:06:45 Duration | 
|  | Lecture 4 | Switch-Based State Machine | 00:06:38 Duration | 
|  | Lecture 5 | Switch Expressions | 00:08:49 Duration | 
|  | Lecture 6 | State Machine with Stateless | 00:05:38 Duration | 
|  | Lecture 7 | Summary | 00:01:00 Duration | 
Section 23 : Strategy
|  | Lecture 1 | Overview | 00:01:50 Duration | 
|  | Lecture 2 | Dynamic Strategy | 00:08:25 Duration | 
|  | Lecture 3 | Static Strategy | 00:04:08 Duration | 
|  | Lecture 4 | Equality and Comparison Strategies | 00:07:41 Duration | 
|  | Lecture 5 | Summary | 00:00:27 Duration | 
Section 24 : Template Method
|  | Lecture 1 | Overview | 00:01:30 Duration | 
|  | Lecture 2 | Template Method | 00:07:23 Duration | 
|  | Lecture 3 | Functional Template Method | 00:03:38 Duration | 
|  | Lecture 4 | Summary | 00:00:46 Duration | 
Section 25 : Visitor
|  | Lecture 1 | Overview | 00:04:46 Duration | 
|  | Lecture 2 | Intrusive Expression Printing | 00:04:41 Duration | 
|  | Lecture 3 | Reflection-Based Printing | 00:09:10 Duration | 
|  | Lecture 4 | Classic Visitor (Double Dispatch) | |
|  | Lecture 5 | Dynamic Visitor via the DLR | 00:07:11 Duration | 
|  | Lecture 6 | Acyclic Visitor | 00:12:01 Duration | 
|  | Lecture 7 | Summary | 00:01:09 Duration | 
Section 26 : Course Summary
|  | Lecture 1 | Creational Paterns Summary | 00:04:41 Duration | 
|  | Lecture 2 | Structural Patterns Summary | 00:06:13 Duration | 
|  | Lecture 3 | Behavioral Patterns Summary | 00:08:48 Duration | 
|  | Lecture 4 | End of Course | 00:00:54 Duration | 
Section 27 : Bonus Lectures_ Related Concepts
|  | Lecture 1 | An ASCII C# String | 00:13:59 Duration | 
|  | Lecture 2 | Continuation Passing Style | 00:11:07 Duration | 
|  | Lecture 3 | Local Inversion of Control | 00:17:43 Duration | 
|  | Lecture 4 | DI Container and Event Broker Integration | 00:10:12 Duration | 
|  | Lecture 5 | Beyond the Elvis Operator | 00:14:47 Duration | 
|  | Lecture 6 | CQRS and Event Sourcing | 00:26:42 Duration | 
|  | Lecture 7 | Bonus Lecture_ Other Courses at a Discount | 
Section 28 : Bonus Lectures_ Functional Patterns in F#
|  | Lecture 1 | Overview | 00:05:10 Duration | 
|  | Lecture 2 | Builder | 00:04:58 Duration | 
|  | Lecture 3 | Decorator | 00:04:40 Duration | 
|  | Lecture 4 | Factory | 00:08:15 Duration | 
|  | Lecture 5 | Interpreter | 00:09:58 Duration | 
|  | Lecture 6 | Strategy | |
|  | Lecture 7 | Template Method | 00:10:06 Duration | 
|  | Lecture 8 | Summary | 00:02:55 Duration | 
 
				 
                            