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