Thinking Like an Object-Oriented Programmer

Thinking Like an Object-Oriented Programmer

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 4h 29m | 1.47 GB

OOP is a mindset and a process. This course leads you towards understanding its power.

Introduction, Establishing Crucial Metaphors, Application Lifecycle and Object Orientation, Big Upfront Design: Object Oriented Analysis and Design, Agile Methodology, The Process can Affect the Design, Abstracting the Real World into a Domain Model, Establishing Roles and Delegating Responsibilities to Objects, Contracts, Interfaces and Collaborations, Collaborations and Object Role Stereotypes, Collaborations: Conditions of Use and After Effect Guarantees, Domain vs Application Specific Objects, Components as Neighborhoods of Objects, Architectural Layers of Responsibility using Objects, Designing Objects and Interactions Guided By Principles and Patterns, Why Encapsulation?, Why Implementation Inheritance?, Why Interface Inheritance?, Why Polymorphism?, Understanding Relationships: Coupling and Dependency, Understanding Relationships: Inversion of Control and Dependency Injection, Understanding Relationships: Aggregation, Understanding Relationships: Composition, Understanding the Agile Analysis and Design Process using Visual Studio Team Services, Where to Go From Here

Table of Contents

1 Introduction
2 Establishing Crucial Metaphors
3 Application Lifecycle and Object Orientation
4 Big Upfront Design: Object Oriented Analysis and Design
5 Agile Methodology
6 The Process can Affect the Design
7 Abstracting the Real World into a Domain Model
8 Establishing Roles and Delegating Responsibilities to Objects
9 Contracts, Interfaces and Collaborations
10 Collaborations and Object Role Stereotypes
11 Collaborations: Conditions of Use and After Effect Guarantees
12 Domain vs Application Specific Objects
13 Components as Neighborhoods of Objects
14 Architectural Layers of Responsibility using Objects
15 Designing Objects and Interactions Guided By Principles and Patterns
16 Why Encapsulation?
17 Why Implementation Inheritance?
18 Why Interface Inheritance?
19 Why Polymorphism?
20 Understanding Relationships: Coupling and Dependency
21 Understanding Relationships: Inversion of Control and Dependency Injection
22 Understanding Relationships: Aggregation
23 Understanding Relationships: Composition
24 Understanding the Agile Analysis and Design Process using Visual Studio Team Services
25 Where to Go From Here