Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Como identificar se uma regra deve ser considerada em uma classe helper, etc ou no própria classe modelo?

Olá pessoal!

Considerando a caixa alta (toUpperCase()) deste exercício, ao invés de considerar isso em um helper, considerei diretamente no modelo:

class Arquivo {

    constructor(nome, tamanho, tipo) {
        this._nome = nome.toUpperCase();
        this._tamanho = tamanho.toUpperCase();
        this._tipo = tipo.toUpperCase();
    }
//...

Motivo: se outro dev também instanciar um Arquivo em outro lugar do sistema, a regra da caixa alta será considerada.

Dúvida: da maneira que eu fiz está correto? Em caso negativo, porquê e quando considerar uma regra/característica em uma classe helper ou na própria classe modelo?

At.te

4 respostas

Boa tarde, Elías! Como vai?

O ideal é que o modelo fique com os dados no formato padrão que será utilizado na maior parte da aplicação. Daí, caso em alguma parte seja necessário apresentar a tal informação num padrão exclusivo, utiliza-se um "helper" para fazer a manipulação do dado.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

solução!

Olá Elias!

Normalmente os modelos sustentam as regras de negocios do seu sistema. Caso tenha uma regra muito importante ela deve estar nele.

As classes Helpers são estaticas e possuem lógica replicavel para todo o restante do sistema.

Nesse caso, se for uma regra muito importante ter os atributos de Arquivo com os caracteres em maiusculo ele pode ser implementado no Model. Mas se você quer fazer isso em mais de uma classe compensa mais utilizar um Helper.

Espero ter ajudado! :D

Olá pessoal, peguei a ideia, ajudaram sim!

Se fosse possível marcaria as duas respostas como solução (hum... e aí a pontuação poderia ser dividida...), muito obrigado!

At.te

Por nada, Elías! Sempre que precisar é só mandar a sua questão aqui no fórum!

Grande abraço abraço e bons estudos, meu aluno!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software