Jump to content
Diogo M

Padrões GOF - Actualização automática de Preços

Recommended Posts

Diogo M

Boa Tarde,

gostaria de esclarecer  aqui uma dúvida que tenho em relação a um trabalho que estou a realizar referente à elaboração de contractos.

Estou a criar um projecto em que sempre que um Funcionário elabora um contracto (não importa de quê), com um Cliente, o programa vai actualizar automáticamente o valor total do contracto e disponibilizar esse mesmo valor para visualização, durante toda o processo de elaboração do mesmo.

Desse modo gostava de saber qual é a melhor maneira, e tendo em atenção aos Padrões GOF de o preço total de o meu contracto ser actualizado constantemente à media que este está a ser elaborado.

Não quero nada de código apenas queria uma dica da melhor estratégia a adoptar para poder tentar resolver este problema.

Share this post


Link to post
Share on other sites
softklin

Dos poucos padrões que conheço, talvez o Observer (Observador) se enquadre no que estás a tentar fazer. Baseia-se num modelo de subscrição, por exemplo, quando subscreves uma newsletter de um website por email. Basicamente, tu registas-te perante o sistema de newsletters (o sistema é o Sujeito), e quando eles têm novidade, enviam-te (a ti, Observador) um email com as novidades.

No teu caso concreto, o sistema que informa o utilizador do total de facturas é o Observador, e a rotina que trata de adicionar facturas ao sistema é o Sujeito (que informa o Observador que houve mais uma factura de entrada).

Vê o diagrama de classes, e alguns exemplos de código Java:

http://en.wikipedia.org/wiki/Observer_pattern

Como nota, noutras linguagens este padrão é a base dos eventos.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
Diogo M

Boas André, obrigado pela resposta rápida. Vou ver então como funciona o Observador e se é realmente aquilo que preciso de utilizar. Caso seja e tenha dúvidas já sei com quem contar :P

Obrigado

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.