como seria para implementar o padrão state para salvar\recuperar no banco de dados?
como seria para implementar o padrão state para salvar\recuperar no banco de dados?
Oi Pedro, tudo bom?
Normalmente usamos o State para controlar os estados de um objeto.
A principal situação que faz emergir o Design Pattern State é a necessidade de implementação de uma máquina de estados. Geralmente, o controle das possíveis transições são vários e complexos, fazendo com que a implementação não seja simples. O State auxilia a manter o controle dos estados simples e organizados através da criação de classes que representem cada estado e saiba controlar as transições.
Normalmente, o que persistimos para o banco são dados estaveis. Ou seja, independente do estado, você salvará seu objeto pois aquele estado é o que você quer guardar.
Resumidamente, é meio contraditorio guardar estados do objeto no banco pois a variação de estados ocorre na memoria e no banco guardamos apenas as informações "prontas".
então o PHP não é uma linguagem muito boa para certos padrões de projetos, ja que ele é uma linguagem scriptada e não tem o dinamismo para os estados serem mudados em segunda ordem, linguagens dinâmicas com execução em tempo real seriam melhores para certos padrões como state que conseguem "guardar" o estado do objeto e persistir no banco quando o estado estiver "pronto"... é isso?