Estou trabalhando em um aplicativo, cujo módulo executa as seguintes operações financeiras sequencialmente:
Quando um usuário solicita que uma certa quantia seja transferida para sua conta bancária:
- verificar se alguma transação pode acontecer agora? (a transação pode ser realizada apenas durante um determinado período)
- verifique se o usuário solicitou a retirada de um valor mínimo
- verifique se o usuário tem alguma conta padrão
O resultado de todas as ações acima deve ser registrado.
Se todas as condições acima estiverem em conformidade, a transação é realizada. No futuro, pode haver algumas verificações adicionais.
Qual padrão de design orientado a objetos deve ser mais adequado para o caso acima?