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

Programação Defensiva

Alguém poderia me explicar melhor a essência da programação defensiva... Entendi que, basicamente, você cria um novo objeto para evitar que alguém realize alterações sobre ele, mas não captei a essência de tomar essa atitude. Agradeço!

3 respostas

Fala ai Raul, tudo bem? A ideia seria isolar a responsabilidade para que apenas a classe dona da informação possa realizar alteração nos seus dados, dessa forma, a gente cria um encapsulamento na mesma.

Ou seja, a regra de alteração fica encapsulada na classe e ninguém de fora pode alterar os valores à não ser utilizando métodos da própria classe.

A essência seria seguir boas práticas sobre design de códigos e orientação à objetos.

Espero ter ajudado.

Sim, mas e como eu vou saber como fazer essa programação defensiva? Ou é simplesmente criar uma nova propriedade com o mesmo valor dá propriedade atual, para que o que a gente consiga alterar sempre seja uma cópia?

Exemplo, se eu tinha uma lista, eu crio uma nova lista com o mesmo valor. Se eu tenho um objeto no atributo, eu chamo no getter um novo objeto com o mesmo valor, etc.

solução!

Fala Raul, isso você vai aprendendo e pegando com o tempo, com experiência, vivência e estudos.

Essa seria umas das N possíveis abordagens de programação defensiva.

Espero ter ajudado.