Oii Jean, como você está?
Na área de programação é comum que tenha diversas formas de se chegar a um resultado, em alguns casos, algumas soluções serão mais performáticas do que outras, tanto em tempo de execução, quanto em qualidade de código. Sua proatividade em ir além do que foi ensinado na aula e buscar sua própria implementação é super válida e incentivo que você continue praticando e evoluindo seus estudos desse modo. O seu código, apesar de não ser igual ao do instrutor, cumpre o objetivo e está legível, não infringe as boas práticas. O padrão de projeto Factory escolhido pelo instrutor teve o objetivo didático, para demonstrar a implementação e seu uso.
A Factory ensinada no curso é um padrão de projeto, ou seja, uma boa prática de código para quando temos situações que tenham instanciação de diversas classes e que isso dependa de algumas condições para acontecer - uma factory é uma fábrica e nesse caso, uma fábrica de objetos, que podem ser de tipos iguais ou diferentes, a depender da condição. Vale ressaltar que quando estamos trabalhando com o Factory ou com outros padrões de projeto, tudo dependerá do escopo, em projetos pequenos por exemplo, fazer o uso de padrões pode apenas aumentar a complexidade do código.
Caso queira evoluir ainda mais seus estudos e conhecer outros padrões de projetos, recomendo a leitura dos artigos presentes no site Refatoring Guru, onde será apresentado com detalhes sobre os padrões Factory Method, Abstract Factory, Decorator, Chain of Responsibility e muitos outros.
Lembre-se que pode contar sempre com o fórum Alura, seja para postar o seu desenvolvimento ou para tirar suas dúvidas.
Fico à disposição.
Abraços e bons estudos!