Usando padrões com refatoração