1
resposta

Qual é melhor e/ou mais correto: Interface ou Model ?

Nas aulas, é sugerido e ensinado que parece receber os dados de uma api, usamos uma interface.

Segue um exemplo de Model que eu utilizo em uma aplicação minha. Eu optei por model porque consigo criar e utilizar métodos que manipulas as informações vindas da API.

Está correta essa utilização de Model em angular? Qual conceito é mais correto de ser aplicado? Poderia usar Model e Interface? Obrigado

export class Agreement {
  id: number;
  id_debt: number;
  agreement_installment: Array<any>;
  status: string;
  debt: Array<any>;

  public constructor(init?: Partial<Agreement>) {
    Object.assign(this, init);
  }

  getTotalValueAgreement() {
    let sum = 0;
    for (const installment of this.agreement_installment) {
      sum += installment.value;
    }
    return sum;
  }
}
1 resposta

Fala ai Guilherme, tudo bem? Vamos lá:

Está correta essa utilização de Model em angular?

Sim, dizer que está certo ou errado é muito relativo, o importante é atender sua necessidade.

Qual conceito é mais correto de ser aplicado?

Depende cada cenário e gosto, talvez faça sentido utilizar uma interface para casos mais simples, onde apenas que garantir o contrato da API.

Para cenários onde precisa de métodos, ou mais regras de negócio, talvez o ideal seja classes.

Eu particularmente em Angular prefiro utilizar classes (para todas minhas API's).

Poderia usar Model e Interface?

Poder você pode, mas, eu acho que seria overkill, muita coisa para pouco, recomendo a utilização de um dos dois para o mesmo contexto.

Caso sejam contextos separados não vejo problema, é como eu disse anteriormente, pode ser que uma API A seja simples e B complexo. No caso você poderia utilizar interface para A e classes para B, está errado? Depende.

Espero ter ajudado.