4.5. Mensagem de autorreferência

Em uma mensagem de autorreferência, o emissor e o receptor da mensagem são o mesmo objeto.

Por exemplo, imagine que ocorra um problema com os atores da peça teatral e aquele espetáculo não vá mais acontecer no teatro. Para que o sistema lide com essa situação, um objeto de usuário precisaria enviar uma mensagem de "cancelar o espetáculo teatral" a um objeto de espetáculo de teatro. O evento deve mudar o seu próprio estado (cancelando o espetáculo teatral), o estado de todas as sessões do espetáculo (cancelando todas as sessões) e cancelando todos os assentos relacionados às sessões.

Deve ser capaz ainda de devolver o dinheiro dos ingressos já vendidos (outro cenário complementar).

Veja no diagrama abaixo uma possível representação desse cenário. Observe o passo 1.1, ele é uma autorreferência ao objeto que muda seu estado e dispara a próxima ação de cancelar sessões.

Diagrama exemplificando uma autorreferência
Copyright © 2014 AIEC.