Course curriculum

  • 1
    Course Content
    • 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