Concordo contigo que ficou confusa essa parte, Rodolfo, e esse nome não fez sentido nenhum pra mim também, mas deixa eu ver se consigo te dar uma luz pra você ler novamente esse código.
O que estávamos fazendo anteriormente através do controller foi pegar os inputs do usuário (strings) e tratar esses dados para criar uma instância da classe Negociacao, que deve receber no seu construtor parâmetros do tipo Date, number e number. O que alterou é que a função de tratamento de dados, antes chamada de criaNegociacao()
, foi encapsulada dentro da própria classe. Assim, ao invés de criar uma instância utilizando o construtor da classe, ele chama um método estático criaDe()
, que trata esses dados internamente e cria a instância.
Perceba como isso facilita nossa vida, porque a função criaDe()
recebe strings, que é justamente o formato que recebemos do usuário, e o desenvolvedor não precisará se preocupar em tratar essas entradas. Se nosso código fosse uma tubulação, é como se tivéssemos criado um atalho e economizado alguns canos :)