Effective OOP

Carl

Why Use Objects?

Dividing Work

Do Not Repeat Yourself

Thinking with Tests

Self Documenting Code

OPP Danger Zone

Too Much Magic & YAGNI

Inheritence vs Composition