- Download Code Files
- Lesson 1 – Introduction
- Lesson 2 – Establishing Crucial Metaphors
- Lesson 3 – Application Lifecycle and Object Orientation
- Lesson 4 – Big Upfront Design: Object Oriented Analysis and Design
- Lesson 5 – Agile Methodology
- Lesson 6 – The Process can Affect the Design
- Lesson 7 – Abstracting the Real World into a Domain Model
- Lesson 8 – Establishing Roles and Delegating Responsibilities to Objects
- Lesson 9 – Contracts, Interfaces and Collaborations
- Lesson 10 – Collaborations and Object Role Stereotypes
- Lesson 11 – Collaborations: Conditions of Use and After Effect Guarantees
- Lesson 12 – Domain vs Application Specific Objects
- Lesson 13 – Components as Neighborhoods of Objects
- Lesson 14 – Architectural Layers of Responsibility using Objects
- Lesson 15 – Designing Objects and Interactions Guided By Principles and Patterns
- Lesson 16 – Why Encapsulation?
- Lesson 17 – Why Implementation Inheritance?
- Lesson 18 – Why Interface Inheritance?
- Lesson 19 – Why Polymorphism?
- Lesson 20 – Understanding Relationships: Coupling and Dependency
- Lesson 21 – Understanding Relationships: Inversion of Control and Dependency Injection
- Lesson 22 – Understanding Relationships: Aggregation
- Lesson 23 – Understanding Relationships: Composition
- Lesson 24 – Understanding the Agile Analysis and Design Process using Visual Studio Team Services
- Lesson 25 – Where to Go From Here
About Bot Tabor
Bob is the founder of LearnVisualStudio.NET and has been creating screencast tutorials since 2002. A five-time Microsoft MVP, his videos have been viewed millions of times on Visual Studio’s Start page, Channel 9, Microsoft Virtual Academy, and elsewhere. Bob is an adjunct instructor for WintellectNOW.