SOLID Principles of Object Oriented Design
This course introduces foundational principles of creating well-crafted code and is appropriate for anyone hoping to improve as a developer. The content does not focus on a particular technology, although all examples are in .NET and C#.
You are currently not signed in. Please sign in to access subscriber-only content.
Currently using: {{getCurrentPlayerName()}} [Change]
| expand all | collapse all | Progress | Duration | |
|---|---|---|---|
The Single Responsibility Principle |
|
00:11:59 | |
|
Introduction
|
|
00:43 | |
|
Definition
|
|
01:16 | |
|
Responsibilities
|
|
00:42 | |
|
Demo: The Problem
|
|
03:22 | |
|
Problem Analysis
|
|
00:53 | |
|
Refactoring to a Better Design
|
|
03:01 | |
|
Summary
|
|
02:02 | |
The Open / Closed Principle |
|
00:28:07 | |
|
Introduction
|
|
00:44 | |
|
Definition and Overview
|
|
02:20 | |
|
Demo: The Problem
|
|
04:49 | |
|
Problem Analysis
|
|
06:58 | |
|
Refactoring to a Better Design
|
|
13:16 | |
The Liskov Substitution Principle |
|
00:21:46 | |
|
Introduction
|
|
00:47 | |
|
Definition and Overview
|
|
03:26 | |
|
Demo: The Problem
|
|
08:20 | |
|
Problem Analysis
|
|
00:34 | |
|
LSP Design Smells
|
|
02:46 | |
|
Refactoring to a Better Design
|
|
03:49 | |
|
Tips
|
|
00:59 | |
|
Summary
|
|
01:05 | |
The Interface Segregation Principle |
|
00:24:27 | |
|
Introduction
|
|
03:47 | |
|
Demo: The Problem
|
|
08:07 | |
|
Problem Analysis
|
|
01:18 | |
|
Refactoring to a Better Design
|
|
07:04 | |
|
Design Smells and Tips
|
|
03:08 | |
|
Summary
|
|
01:03 | |
The Dependency Inversion Principle |
|
00:41:28 | |
|
Introduction
|
|
00:55 | |
|
Definition
|
|
01:19 | |
|
What are Dependencies
|
|
03:37 | |
|
Traditional Programming
|
|
02:11 | |
|
Class Dependencies
|
|
02:23 | |
|
Demo
|
|
06:57 | |
|
The Problem
|
|
05:33 | |
|
Refactoring
|
|
10:51 | |
|
Design Smells
|
|
02:35 | |
|
Where to Instantiate
|
|
01:48 | |
|
IoC Containers
|
|
01:51 | |
|
Summary
|
|
01:28 | |
The Dependency Inversion Principle, Part 2 |
|
00:26:15 | |
|
Introduction
|
|
01:00 | |
|
Definition
|
|
03:17 | |
|
What are Dependencies
|
|
04:38 | |
|
Traditional Programming
|
|
01:48 | |
|
Class Dependencies
|
|
15:32 | |
The Don't Repeat Yourself Principle, Part 1 |
|
00:34:26 | |
|
Introduction
|
|
01:04 | |
|
Definition
|
|
01:07 | |
|
Demo App and Analysis
|
|
04:23 | |
|
Refactor Magic Strings
|
|
11:10 | |
|
Refactor Duplicate Logic
|
|
06:21 | |
|
Refactor Repeat if-then
|
|
04:14 | |
|
Refactor Conditional w/Polymorphism
|
|
05:12 | |
|
Summary
|
|
00:55 | |
The Don't Repeat Yourself Principle, Part 2 |
|
00:31:00 | |
|
Introduction
|
|
01:06 | |
|
Analysis
|
|
00:55 | |
|
Tests and Static Cling
|
|
01:57 | |
|
Demo Adding Integration Tests
|
|
08:24 | |
|
Demo Adding Unit Tests
|
|
14:03 | |
|
Demo Mock Objects
|
|
03:36 | |
|
Summary
|
|
00:59 | |
Principles of Object Oriented Design - The Don't Repeat Yourself Principle, Part 3 |
|
00:29:01 | |
|
Introduction
|
|
00:58 | |
|
Analysis
|
|
00:16 | |
|
Repeated Execution Patterns
|
|
00:44 | |
|
Demo: Refactor using Action of T
|
|
06:14 | |
|
Demo: Refactor Data Access
|
|
07:08 | |
|
Demo: Find Duplicate Code - Atomiq
|
|
05:31 | |
|
Code Generation
|
|
01:13 | |
|
Repetition in Process
|
|
00:51 | |
|
Demo: Automation with MSBuild
|
|
04:35 | |
|
Summary
|
|
01:31 |
The Single Responsibility Principle