Olá, quando eu decido que devo instanciar uma classe dentro do controller de outra ? Igual feito em Negociações dentro de Negociação Controller ? Não consigo abstrair isso.
Olá, quando eu decido que devo instanciar uma classe dentro do controller de outra ? Igual feito em Negociações dentro de Negociação Controller ? Não consigo abstrair isso.
Fala ai Santi, tudo bem? Isso vai depender muito de cada estilo arquitetural que você está seguindo.
Eu diria que dentro do construtor é um bom lugar para inicializarmos informações que nossa classe precisa.
Então, sempre que você precisar inicializar alguma informação eu diria que seria esse o momento de usar o construtor.
Isso porque as vezes você pode ter uma classe Pessoa
que tem um endereço Endereco
, CPF
, Email
, etc...
Então isso poderia estar no construtor:
class Pessoa {
constructor(dados) {
this.nome = dados.nome
this.endereco = new Endereco(dados.endereco)
this.cpf = new CPF(dados.cpf)
}
}
Então a gente teria um modelo Pessoa
que possuí value objects chamados Endereco
e CPF
.
Em alguns padrões de arquitetura você pode ver que será feito de um set
:
class Pessoa {
constructor(dados) {
this.setNome(dados)
this.setEndereco(dados)
this.setCpf(dados)
}
setNome(dado) {
this.nome = dados.nome
}
setEndereco(dado) {
this.endereco = new Endereco(dados.endereco)
}
}
Cada abordagem tem suas vantagens e desvantagens.
Espero ter ajudado.