Thinking Like an Object-Oriented Programmer
OOP is a mindset and a process. This course leads you towards understanding its power.
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.