Refatorei o código mostrado até o minuto 6:13 do vídeo abaixo utilizando uma variante do Factory Pattern chamada Factory Method, mantendo toda a lógica e comportamento esperado
Você pode utilizar funções ao invés de classes ao implementar o Factory Pattern, especialmente em linguagens como JavaScript, onde as funções são "cidadãos de primeira classe" e podem ser usadas para criar e retornar objetos. Esse estilo é muito comum em abordagens mais funcionais. Essa abordagem é especialmente útil em JavaScript, onde o paradigma funcional é frequentemente combinado com o orientado a objetos, porém optei pela utilização de classes seguindo uma abordagem mais orientada a objetos, e também utilizei injeção de dependências
Essa foi apenas uma forma de colocar em prática o design pattern Factory Method que eu havia estudado (:
