Pular para o conteúdo

Lista de Exercícios 015: Padrões Comportamentais II

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.

  1. Cada grupo deverá explicar seu exemplo para outro grupo.
  2. Os grupos deverão trocar os códigos entre si.
  3. Em conjunto, os dois grupos deverão decidir qual evolução será implementada.
  4. O grupo autor do exemplo poderá sugerir novas ideias para explorar melhor o padrão desenvolvido.
  5. O grupo que recebeu o código deverá implementar a evolução proposta.

Cada grupo deve:

  1. compreender o problema resolvido pelo exemplo recebido;
  2. identificar como o padrão comportamental foi aplicado;
  3. discutir com o grupo autor possíveis caminhos de evolução;
  4. definir um novo requisito que aproveite a arquitetura já existente;
  5. implementar uma nova versão do exemplo com a evolução combinada;

Cada grupo deverá entregar:

  1. o código atualizado em Java;
  2. uma breve explicação da evolução realizada;
  3. uma descrição de como a arquitetura foi modificada;

Cada grupo deverá mostrar e explicar:

  1. o que o exemplo original fazia;
  2. qual padrão comportamental estava sendo utilizado;
  3. qual novo requisito foi incorporado;
  4. quais mudanças foram feitas na arquitetura;
  5. como a solução evoluída aproveita melhor o padrão implementado.

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

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.