Mémorias técnicas STATE - vitornere/partiuformar GitHub Wiki
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 State para manter o estado das menções do aluno das disciplinas em uma grade curricular.
2.2. Fatores
Organizar os diversos estados que uma disciplina possa ter em uma grade curricular, de modo dinamico.
2.3. Solução
Utilizou-se de um padrão de projeto GoF da categoria comportamental denominado State. Criou-se então uma classe state_discipline, e as suas subclasses que variam os estados, sendo elas SR, II, MI, MM, MS, SS e TR.
Assim o aluno pode ter na sua grade curricular as disciplinas com estes estados variando ao longo do curso.
2.4. Motivação
Houve a necessidade de colocar de modo dinâmico a alteração destes estados de modo que quando uma nova menção seja inserida no sistema essa troca seja fluida com pouco esforço de manutenção.
2.5. Pendências
Não se aplica.
2.6. Alternativas
Poderia-se setar diretamente na instancia da disciplina o seu estado porém isto não teria o efeito desejado pela equipe.