3 - Modelando eventos
Um evento sensibiliza um objeto fazendo com que um método seja executado. É muito comum existirem objetos instanciados em um sistema que ficam aguardando a sua respectiva execução. A ordem que diz “execute tal tarefa” pode ser um evento.
Tecnicamente falando, um evento é um gatilho que evoca uma resposta na forma de uma ou mais condutas. Um evento em um diagrama de máquina de estados corresponde a uma mensagem em um diagrama de sequência.
Quando, por exemplo, o objeto “assento” recebe uma mensagem “reserve o assento número 36F”, o ato de receber essa mensagem é um evento que desencadeia uma mudança no estado do objeto que referencia o assento “36F”, mudando-o de “disponível” para “reservado”.
Veja alguns exemplos do que um evento pode ser:
- A recepção de uma comunicação executada por outro objeto, como um objeto de compra de ingressos que dispara um evento de reserva/compra da poltrona da sessão de cinema.
- Uma regra de negócio baseada em tempo decorrido.
- Uma regra de negócio baseado em um teste lógico no sistema, como por exemplo “estoque abaixo do mínimo”, ou “saldo negativo”, ou “usuário efetuou logoff”.
- Uma regra de negócio baseado em um evento do computador, como por exemplo a chegada de um e-mail, a inserção de um CD no drive de CD, um sistema que é carregado, uma informação que chega por uma porta lógica do computador etc.
Tempo decorrido
Regra baseada em tempo corrido pode ser:
- Um evento que ocorra todo dia à zero hora;
- Ou um evento que ocorra todo primeiro dia útil do mês;
- Ou um evento que ocorra a cada 30 minutos;
- Ou um evento que ocorra passados 5 minutos sem a intervenção do usuário no sistema (geralmente ocorre o logoff do sistema);
- Ou passados 5 minutos de reserva de uma poltrona e o usuário não concluiu a venda (nesse caso ele perderia a reserva e a poltrona voltaria ao estado de disponível).
X
Copyright © 2014 AIEC.