Orientação a objetos ao longo da história
Paradigmas de programação
Especialização e Reuzabilidade = OO
Orientação a Objetos e outros paradigmas
Design Principles
Uma classe como um tipo
Composição de tipos
Agregação de tipos
Extensão de tipos
Interface de tipos
Persistência
Design Patterns
Reutilização
Gang of Four
Uma solução comum para um problema comum (independente de linguagem)
Os diferentes tipos de padrões de projeto
Quando um design pattern é uma solução.