Memória técnica 1 - EduardoMoreira/Desenho-UnB-2016-01 GitHub Wiki
Versão 1.0
Histórico da Revisão
Data | Versão | Descrição | Autor |
---|---|---|---|
22/05/2016 | 1.0 | Criação do documento e preenchimento dos tópicos | Matheus Silva |
1. Introdução
1.1. Finalidade
Este documento tem por finalidade manter o registro das decisões arquiteturais, das alternativas de solução, bem como das influências dos fatores.
2. Memória Técnica
2.1. Resumo da solução
Utilização do padrão Observer para garantir a atualização do estoque a partir de entradas e saídas de grãos (milho e soja).
2.2. Fatores
- Prover o comportamento de atualização automática da quantidade em estoque por parte dos grãos (milho e soja) após o registro de uma entrada ou saída de Grãos.
2.3. Solução
Utilizou-se de um padrão de projeto GoF da categoria comportamental chamado Observer. Criou-se então uma classe - MovimentacaoGrao (ConcreteSubject) - que é observada pelas classes - Milho e Soja (ConcreteObserver) - quando ocorre uma movimentação de grãos no estoque, isto é, uma entrada ou saída de milho ou soja, estes são atualizados em sua quantidade automaticamente.
Caso haja a necessidade de acrescentar um novo tipo de grão, este é facilmente adicionado à estrutura devido a interface - Grao (Observer) - que garante a implementação dos métodos por parte das classes concretas possibilitando sua atualização automática.
Para ver a solução com uma maior detalhamento (Modelagem e implementação) visitar a página do padrão: Observer.
2.4. Motivação
Tem-se a necessidade de conhecer a quantidade de cada um dos grãos em estoque, no caso, milho e soja. Dessa forma, ao registrar a entrada ou saída de grãos seria interessante que a quantidade desses grãos em estoque fossem atualizadas automaticamente, mantendo o fazendeiro sempre informado da quantidade de grãos retida em seu estoque, o que o auxilia na gestão da Fazenda.
2.5. Pendências
Não se aplica.
2.6. Alternativas
Não se aplica.