1
resposta

Função que verifica o estado e declaração das variáveis

Olá!

Seguindo o padrão strategy, a verificação de estado não deveria estar em outra função? Deixando a função de saque responsável apenas pelo saque e fazer a chamada desta verificação por outro local?

Outra dúvida é: no padrão de programação orientada a objetos os atributos de um objeto precisam ser declarados anteriormente como variável? Ex: um $this->teste precisa ser declarado antes das funções como private/protected/public $teste?

1 resposta

Oi Matheus, tudo bom?

Quanto ao padrão em sí, não é obrigatório o isolamento dessa verificação. Mas, seria legal implementar desse jeito, já que deixaria o código mais desacoplado =)

Nesse caso, estaríamos entrando numa discussão mais sobre boas praticas de desenvolvimento do que sobre o pattern em sí. Aqui no curso de SOLID você encontra mais informações sobre isso.

Quanto ao objeto, sim, quando precisamos acessar um atributo dentro do método ele precisa ser declarado no escopo da classe (fora do método).

Em PHP, se você não declarar vai funcionar porque a linguagem cria atributos de forma dinâmica em tempo de execução.

Porém, é sempre indicado que você declare seus atributos para garantir que outra pessoa que vá dar manutenção entenda o que está acontecendo =)

Abraço