Aplicando padrões de projeto