Lista de Exercícios 015: Padrões Comportamentais II
Atividade da aula
Seção intitulada “Atividade da aula”A turma será mantida em 6 grupos de 3 estudantes.
Cada grupo irá apresentar o exemplo desenvolvido na aula anterior para outro grupo e, em seguida, os grupos irão trocar os códigos para propor e implementar uma evolução da arquitetura a partir da solução já existente.
Dinâmica da atividade
Seção intitulada “Dinâmica da atividade”- Cada grupo deverá explicar seu exemplo para outro grupo.
- Os grupos deverão trocar os códigos entre si.
- Em conjunto, os dois grupos deverão decidir qual evolução será implementada.
- O grupo autor do exemplo poderá sugerir novas ideias para explorar melhor o padrão desenvolvido.
- O grupo que recebeu o código deverá implementar a evolução proposta.
O que o grupo deve fazer
Seção intitulada “O que o grupo deve fazer”Cada grupo deve:
- compreender o problema resolvido pelo exemplo recebido;
- identificar como o padrão comportamental foi aplicado;
- discutir com o grupo autor possíveis caminhos de evolução;
- definir um novo requisito que aproveite a arquitetura já existente;
- implementar uma nova versão do exemplo com a evolução combinada;
O que será entregue ao final da aula
Seção intitulada “O que será entregue ao final da aula”Cada grupo deverá entregar:
- o código atualizado em
Java; - uma breve explicação da evolução realizada;
- uma descrição de como a arquitetura foi modificada;
O que deve ser apresentado
Seção intitulada “O que deve ser apresentado”Cada grupo deverá mostrar e explicar:
- o que o exemplo original fazia;
- qual padrão comportamental estava sendo utilizado;
- qual novo requisito foi incorporado;
- quais mudanças foram feitas na arquitetura;
- como a solução evoluída aproveita melhor o padrão implementado.
Requisitos da evolução
Seção intitulada “Requisitos da evolução”A nova versão do exemplo deve:
- preservar a ideia central do exemplo original;
- aproveitar o padrão comportamental já implementado;
- incluir uma evolução coerente com a arquitetura recebida;
- ser simples o suficiente para ser explicada em sala;
- ser implementada em
Java
Sugestões de tipos de evolução
Seção intitulada “Sugestões de tipos de evolução”Se necessário, os grupos podem considerar evoluções como:
- adicionar novos fluxos ou regras de negócio;
- ampliar os casos de uso já existentes;
- incluir novos participantes na solução;
- reorganizar a arquitetura para suportar crescimento do exemplo;
- explorar melhor as possibilidades do padrão já implementado.