Analysis Pattern: Lançamento (Accounting Entry)

O que é

Detalhes de funcionamento

Quando deve ser usado

Código exemplo

interface Lancamento {

    Lancamento novoLancamento(CategoriaCusto catCusto, Projeto projeto, Money valor, Calendar data);

    categoriaCusto getCategoriaCusto();
Projeto getProjeto();
Money getValor();
Calendar getDataLancamento(); }
void setCategoriaCusto (CategoriaCusto cat){
if (isAberto()) {
categoriaCusto = cat;
} else {
throw new LancamentoImutavelException();
}
}

Ligação com Eventos

 

Podemos agora passar para a próxima entidade importante: a Regra de Lançamento ...

programa