Mémorias técnicas STRATEGY - vitornere/partiuformar GitHub Wiki

1. Introdução

1.1. Finalidade

Este documento tem por finalidade manter o registro das decisões arquiteturais tomadas dobre a aplicação do padrão Strategy no calculo do IRA, 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 Strategy para o calculo do IRA de um aluno, de modo dinâmico sem alterar as classe a qual ele opera, encapsulando os algoritmos para o calculo do IRA em classes especificas.

2.2. Fatores

Necessitou-se de alternar os algorítimos para o calculo do irar entre as classes encapsulando os mesmos, evitando assim códigos repetidos no sistema, uma troca fluida entre os algoritmos de calculo do ira quando necessário.

2.3. Solução

Aplicou-se o padrão Strategy para realizar a troca de algoritmos, assim definindo estratégias diferentes para o calculo do ira com base na menção do aluno.

Deste modo, criou-se as seguintes classes ira_abstract, que terá um templete para as subclasses do calculo do IRA, e as classes ira_sr, ira_ii, ira_mi, ira_mm, ira_ms, ira_ss, além da classe ira_tr.

2.4. Motivação

Para evitar problemas de código duplicado e uma série de verificações, além de facilitar a manutenção do código, utilizou-se o padrão strategy, garantindo esta alternância entre os algoritmos.

2.5. Pendências

Não se aplica.

2.6. Alternativas

Acreditamos que o strategy seja o algoritmo que melhor se encaixa neste projeto.