Analysis Pattern: Evento (Event)

O que é

Detalhes de funcionamento

Quando deve ser usado

Código exemplo

interface Evento {
Event novoEvento (TipoEvento tipo, NumeroConta conta,
Calendar quandoOcorreu, Calendar quandoObservado);
TipoEvento getTipo();
NumeroConta getConta();
Calendar getQuandoOcorreu();
Calendar getQuandoObservado();
}
interface Venda extends Evento {
    Venda novaVenda (NumeroConta conta,
Calendar quandoOcorreu, Calendar quandoObservado,
Fornecedor fornecedor, Money valor);
Fornecedor getFornecedor();
Money getValor();
}
interface Evento...
boolean jaFoiProcessado();
Set getLancamentosResultantes();
void addLancamentoResultante(Lancamento lancamento);
...


programa