Implementado padroes FactoryMethod e AbstractFactory