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

Duvida sobre boas práticas

Então tem 2x formas de solucionar o problema

1 -

class Pessoa {
Endereco endereco = new Endereco( );
}

2 -

p.endereco = new Endereco( );
p.endereco.logradrouro = "Avenida XYZ";

Qual a usar ou depende do plano de negócio do projeto que seja desenvolvido?

5 respostas
solução!

Bom dia!

Existem varias abordagens para resolver isso. Eu particularmente não gosto da primeira opção, se existe a necessidade de criar uma instancia da classe endereço toda vez quer for criando a instancia da classe Pessoa, faria isso no construtor da classe.

Eu particularmente prefiro e geralmente trabalho com a segunda opção.

Obrigado pela informação.

Eu particularmente não instancio atributos de um objeto, ou se for realmente necessário, utilizo no próprio construtor da instância, fica mais fácil visualizar.

Opa pessoal.

Só dando um pitaco na discussão, há uma diferença conceitual também sobre as duas abordagens.

Quando criamos um objeto com new, podemos pensar que estamos dizendo em nosso código que algo existe de fato, independente de tem dados ou não.

Assim, ao fazer direto a primeira abordagem, você está dizendo que ao instanciar uma pessoa, automaticamente e obrigatoriamente, a pessoa TEM um endereço real para ele (apesar que os dados do endereço está vazio). Já na segunda abordagem, você está dizendo que ao instanciar uma pessoa, NÃO EXISTE um endereço obrigatoriamente, pois o atributo endereço está nulo.

Então tem sim algo relacionado a negócio nessa sintaxe para optar por uma ou outra abordagem.

Obrigado pessoal, pelas informações prestadas.

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