1
resposta

Sobre o encapsulamento do método "adicionaPagamento"

Embora a intenção do encapsulamento seja exatamente a de esconder o comportamento penso que é importante ao usuário da API saber que ao adicionar um pagamento a classe pode vir a alterar o status do objeto para pago. Digo isto porque o nome do método apenas informa que um pagamento vai ser adicionado. A verificação do status para pago é um espécie de "extra", sobre o qual o nome do método não clarifica. O usuário da classe vai ficar na dúvida se o trabalho dele encerra por ali. Então acredito que ele deve documentar isso com cuidado no javadoc ou até alterar o nome do método para algo como adicionaPagamentoVerificaStatus. Gostaria de saber sua opinião a respeito.

1 resposta

Oi Paulo, acredito que a responsabilidade de gerenciar o status seja da própria classe e o momento mais adequado de fazer isso é toda vez que um pagamento é adicionado. É melhor que o usuário da classe utilize o método getStatus para saber a situação atual do que ficar lembrando de gerenciar esse estado em algum outro lugar que não seja a classe. O Usuário da api nem deveria se preocupar com isso afinal essa é a ideia do encapsulamento ele só precisa saber como pegar o status (getStatus) e não em como gerenciar o estado.

Espero ter ajudado.

Abraços e bons estudos.