Joao Brietzke Blog

← trilhas

Princípios de Projeto

Os fundamentos que o SOLID assume e as heurísticas que sobram depois dele. A trilha começa nos três pilares da orientação a objetos (o que encapsulamento, herança e polimorfismo são por dentro, e o que cada um cobra), passa pelo vocabulário que permite dizer por que um design está ruim, e termina nos princípios práticos que agem na decisão pequena do dia a dia.

  1. 01

    Encapsulamento

    Esconder o que pode mudar, e por que get/set para tudo é o oposto disso. A diferença entre agrupar e ocultar, o encapsulamento aparente do modelo anêmico, e o que cada mecanismo da linguagem garante de verdade.

  2. 02

    Herança

    O mecanismo por dentro: estrutura, subtipo e despacho dinâmico. Quando herdar se paga, e por que o mesmo despacho dinâmico que dá o poder é o que produz a fragile base class.

  3. 03

    Polimorfismo

    Uma chamada, várias respostas. Os quatro tipos da classificação clássica, o desaparecimento do switch sobre tipo, e as formas de conseguir polimorfismo sem hierarquia nenhuma.

  4. 04

    Acoplamento e coesão

    O vocabulário para dizer por que um design está ruim: as escalas de coesão e de acoplamento, por que zero acoplamento não é o alvo, e o teste unitário como régua.

  5. 05

    Lei de Demeter

    Acoplamento medido em saltos, contável a olho nu na própria linha. O train wreck, o Tell Don't Ask, os falsos positivos, e por que a delegação em cascata não resolve nada.

  6. 06

    DRY, KISS, YAGNI

    Os três que mais se aplicam errado: o DRY fala de conhecimento e não de código repetido, o KISS é sobre ser consertável por quem não escreveu, e o YAGNI vale para funcionalidade especulativa, não para qualidade interna.